当前位置:  编程语言>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."
            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."
            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()


相关文章推荐:


站内导航:


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

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3