urllib2与饼干

时间:2012-01-04 22:16:41

标签: python cookies urllib2

我正在尝试使用python向需要cookie的RSS源发出请求。我认为使用urllib2并添加适当的标题就足够了,但请求仍然说未经过自动化。

我猜这可能是远程站点方面的问题,但并不确定。如何使用urllib2和cookie?是否有一个更好的包(如httplib,机械化,卷曲)

2 个答案:

答案 0 :(得分:13)

我会使用requests包,docs,它比urlib2(理智的API)更容易使用。

如果回复包含一些Cookie,您可以快速访问它们:

url = 'http://httpbin.org/cookies/set/requests-is/awesome'
r = requests.get(url)
print r.cookies #{'requests-is': 'awesome'}

要将您自己的cookie发送到服务器,您可以使用cookies参数:

url = 'http://httpbin.org/cookies'
cookies = dict(cookies_are='working')
r = requests.get(url, cookies=cookies)
r.content # '{"cookies": {"cookies_are": "working"}}'

http://docs.python-requests.org/en/latest/user/quickstart/#cookies

答案 1 :(得分:5)

import urllib2
opener = urllib2.build_opener()
opener.addheaders.append(('Cookie', 'cookiename=cookievalue'))
f = opener.open("http://example.com/")