urllib2与饼干

问题描述:

我正在尝试使用python向需要cookie的RSS提要发送请求。我认为使用urllib2并添加适当的标题就足够了,但请求仍然说不真实。urllib2与饼干

我猜这可能是远程站点的问题,但无法确定。如何使用urllib2和cookie?有没有更好的软件包这一(如httplib的,机械化,卷曲)

+0

如果你只想知道如何设置一个cookie,[这个问题](http://*.com/questions/3334809/python-urllib2-how-to-send-cookie-with-urlopen-request )提供了一个swer。 – 2012-01-04 22:32:30

+0

感谢您的链接。我检查了它,并且以相同的方式设置了cookie(对于每个使用的lib略有不同),但仍然没有运气 – neolaser 2012-01-04 22:58:53

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

我会用requests包,docs,这是一个更容易比urlib2(理智API)来使用。

如果响应包含一些饼干,您可以快速访问它们:

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

+6

请求绝对好得多,但是您可以做[类似于第一个使用内置urllib2和cookielib的示例] (http://docs.python.org/library/cookielib.html#examples),如果必须的话 – dbr 2012-01-04 22:38:15