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

Python中处理HTTP协议的库:urllib2

时间:2015-05-03 01:56:14      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

使用Python访问网页主要有三种方式: urllib, urllib2, httplib

urllib比较简单,功能相对也比较弱,httplib简单强大,但不支持session

 

1. 最简单的页面访问(获取服务器端的Response包)

res=urllib2.urlopen(url)

print res.read()

 

2. 加上要GET或POST的数据

data={"name":"hank", "passwd":"hjz"}

urllib2.urlopen(url, urllib.urlencode(data))

 

3. 加上http头

header={"User-Agent": "Mozilla-Firefox5.0"}

urllib2.urlopen(url, urllib.urlencode(data), header)

 

#转载其他的:

使用opener和handler
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
4. 加上session
cj = cookielib.CookieJar()
cjhandler=urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cjhandler)
urllib2.install_opener(opener)
5. 加上Basic认证
password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
top_level_url = "http://www.163.com/"
password_mgr.add_password(None, top_level_url, username, password)
handler = urllib2.HTTPBasicAuthHandler(password_mgr)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
6. 使用代理
proxy_support = urllib2.ProxyHandler({"http":"http://1.2.3.4:3128/"})
opener = urllib2.build_opener(proxy_support)
urllib2.install_opener(opener)
7. 设置超时
socket.setdefaulttimeout(5)

Python中处理HTTP协议的库:urllib2

标签:

原文地址:http://www.cnblogs.com/Zidon/p/4472820.html

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