urllib2与饼干
问题描述:
我正在尝试使用python向需要cookie的RSS提要发送请求。我认为使用urllib2并添加适当的标题就足够了,但请求仍然说不真实。urllib2与饼干
我猜这可能是远程站点的问题,但无法确定。如何使用urllib2和cookie?有没有更好的软件包这一(如httplib的,机械化,卷曲)
答
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
如果你只想知道如何设置一个cookie,[这个问题](http://*.com/questions/3334809/python-urllib2-how-to-send-cookie-with-urlopen-request )提供了一个swer。 – 2012-01-04 22:32:30
感谢您的链接。我检查了它,并且以相同的方式设置了cookie(对于每个使用的lib略有不同),但仍然没有运气 – neolaser 2012-01-04 22:58:53