码迷,mamicode.com
首页 > 编程语言 > 详细

Python urllib2 发送HTTP Request

时间:2017-05-13 19:12:15      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:创建   processor   调试   handler   direct   ons   urlopen   自动   bre   

urllib2 是Python自带的标准模块, 用来发送HTTP Request的。  类似于 .NET中的,  HttpWebRequest类

 

urllib2 的优点

Python urllib2 发出的HTTP Request, 能自动被Fiddler截获, 方便了调试。

Python 可以自动处理Cookie

 

urllib2 的缺点

Python urllib2 发出的http Request, 中的header 会被修改成“首字母大写”,

比如你的代码里写的header 是: content-TYPE=application/x-www-form-urlencoded ,  会被修改为 Content-Type=application/x-www-form-urlencoded

 

实例一,  Get方法, 并且自定义header

 

技术分享
# -* - coding: UTF-8 -* -  
import urllib2

request = urllib2.Request("http://www.baidu.com/")
request.add_header(‘content-TYPE‘, ‘application/x-www-form-urlencoded‘)
response = urllib2.urlopen(request)
print response.getcode()
print response.geturl()
print response.read()
技术分享

 

实例二, post方法

 

技术分享
# -* - coding: UTF-8 -* -  
import urllib2
import urllib

request = urllib2.Request("http://passport.cnblogs.com/login.aspx")
request.add_header(‘content-TYPE‘, ‘application/x-www-form-urlencoded‘)
data={"tbUserName":"test_username", "tbPassword":"test_password"}

response = urllib2.urlopen(request, urllib.urlencode(data))
print response.getcode()
print response.geturl()
print response.read()
技术分享

 

实例三: Cookie 的处理

 

技术分享
# -* - coding: UTF-8 -* -  
import urllib2
import urllib
import cookielib

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

request = urllib2.Request("https://dynamic.12306.cn/otsweb/")
request.add_header(‘content-TYPE‘, ‘application/x-www-form-urlencoded‘)
data={"tbUserName":"test_username", "tbPassword":"test_password"}

response = opener.open(request, urllib.urlencode(data))

# send again, you will see cookie sent to web server
response = opener.open(request, urllib.urlencode(data))

print response.getcode()
print response.geturl()
print response.read()
技术分享

 

实例四:如何处理跳转

创建Opener时, ul2.HTTPRedirectHandler是默认被加上的handler之一 

 

Python urllib2 发送HTTP Request

标签:创建   processor   调试   handler   direct   ons   urlopen   自动   bre   

原文地址:http://www.cnblogs.com/40406-jun/p/6849710.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!