urllib2与饼干

neo*_*ser 6 python cookies urllib2

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

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

cly*_*yfe 13

我会使用请求包,文档,它比urlib2(理智的API)更容易使用.

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

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

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

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

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

  • 请求肯定要好得多,但你可以做[类似于你的内置urllib2和cookielib的第一个例子](http://docs.python.org/library/cookielib.html#examples),如果你需要 (6认同)

Ran*_*Rag 5

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