您的位置:首页 > 编程语言 > Python开发

python学习2:urllib2

2016-03-30 11:59 627 查看
打开指定URL,捕捉超时异常

def urlopen():
url = "http://www.sina.com/no-exist"
try:
s = urllib2.urlopen(url, timeout=3)
except urllib2.HTTPError, e:
print(e)
else:
print(s.read())
s.close()


定制HTTP头

def request():
headers = {"User-Agent": "Mozilla/5.0", "X-my-header": "my value"}
url = "http://blog.kamidox.com"
req = urllib2.Request(url, headers=headers)
s = urllib2.urlopen(req)
print(s.read(100))
print(req.headers)
s.close()


POST请求

def request_post_debug():
data = {"username": "snow", "password": "xxxxxx"}
headers = {"User-Agent": "Mozilla/5.0", "Content-Type": "plain/text"}
req = urllib2.Request("http://www.douban.com", data=urllib.urlencode(data), headers=headers)
opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1))
s = opener.open(req)
print(s.read(100))
s.close()


自定义opener,debuglevel=1可以打印debug数据

def install_debug_handler():
opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1),                           urllib2.HTTPSHandler(debuglevel=1))
urllib2.install_opener(opener)

install_debug_handler()


cookie

import cookielib
def handle_cookie():
cookiejar = cookielib.CookieJar()
hander = urllib2.HTTPCookieProcessor(cookiejar=cookiejar)
opener = urllib2.build_opener(hander, urllib2.HTTPHandler(debuglevel=1))
s = opener.open("http://www.douban.com")
print(s.read(100))
s.close()

print("#" * 80)
print(cookiejar._cookies)
print("#" * 80)

# 第二次访问会包含cookie
s = opener.open("http://www.douban.com")
print(s.read(100))
s.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python urllib2