?
当前位置:??编程语言>python

在Python3中使用urllib实现http的get和post提交数据操作

?
分享到:
????发布时间:2014-9-16??


????本文导语:? Python是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制...

?? ? python是一种面向对象、解释型计算机程序设计语言,由guido van rossum于1989年底发明,第一个公开发行版发行于1991年。python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是c/c++)很轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3d游戏中的图形渲染模块,性能要求特别高,就可以用c++重写。


Python3httpgetpost提交数据操作举例

在Python3中使用urllib实现http的get操作的核心部分代码如下:

????????????url="http://www.169it.com"
????????????header_dict={'User-Agent':
???????????'Mozilla/5.0?(Windows?NT?6.1;?Trident/7.0;?rv:11.0)?like?Gecko'}???????????
????????????req?=?Request(url=url,headers=header_dict)????????????
????????????f?=?urlopen(req,timeout=120)

在Python3中使用urllib实现http的post操作的核心部分代码如下:

????????????url="http://www.169it.com"
????????????header_dict={'User-Agent':
???????????'Mozilla/5.0?(Windows?NT?6.1;?Trident/7.0;?rv:11.0)?like?Gecko'}???????????
??????????
????????????#pdata为post内容,为dict类型
????????????tmp_pdata=urllib.parse.urlencode(pdata)
????????????req?=?Request(url=url,
??????????????????????????data=tmp_pdata.encode(encoding="utf-8",errors="ignore"),
??????????????????????????headers=header_dict,method='POST')
??????????
????????????f?=?urlopen(req,timeout=120)

?Python3中使用urllib实现http的 GET 方法?

>>>?import?httplib??
>>>?conn?=?httplib.HTTPConnection("www.python.org")??
>>>?conn.request("GET",?"/index.html")??
>>>?r1?=?conn.getresponse()??
>>>?print?r1.status,?r1.reason??
200?OK??
>>>?data1?=?r1.read()??
>>>?conn.request("GET",?"/parrot.spam")??
>>>?r2?=?conn.getresponse()??
>>>?print?r2.status,?r2.reason??
404?Not?Found??
>>>?data2?=?r2.read()??
>>>?conn.close()

?Python3中使用urllib实现http的HEAD 方法 ? ??

>>>?import?httplib??
>>>?conn?=?httplib.HTTPConnection("www.python.org")??
>>>?conn.request("HEAD","/index.html")??
>>>?res?=?conn.getresponse()??
>>>?print?res.status,?res.reason??
200?OK??
>>>?data?=?res.read()??
>>>?print?len(data)??
0
>>>?data?==?''??
True

?Python3中使用urllib实现http的 POST 方法 ?

>>>?import?httplib,?urllib??
>>>?params?=?urllib.urlencode({'spam':?1,?'eggs':?2,?'bacon':?0})??
>>>?headers?=?{"Content-type":?"application/x-www-form-urlencoded",??
...????????????"Accept":?"text/plain"}??
>>>?conn?=?httplib.HTTPConnection("musi-cal.mojam.com:80")??
>>>?conn.request("POST",?"/cgi-bin/query",?params,?headers)??
>>>?response?=?conn.getresponse()??
>>>?print?response.status,?response.reason??
200?OK??
>>>?data?=?response.read()??
>>>?conn.close()


  • 本站(WWW.169IT.COM)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.169IT.COM)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
    转载请注明:文章转载自:[169IT-IT技术资讯]
    本文标题:在Python3中使用urllib实现http的get和post提交数据操作
相关文章推荐:


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

?2012-2019,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号