【问题标题】:urllib2 with cookies带有 cookie 的 urllib2
【发布时间】:2012-01-04 22:16:40
【问题描述】:

我正在尝试使用 python 向需要 cookie 的 RSS 提要发出请求。我认为使用 urllib2 并添加适当的标题就足够了,但请求一直说未经授权。

我猜这可能是远程站点方面的问题,但不确定。如何将 urllib2 与 cookie 一起使用?有没有更好的包(如 httplib、mechanize、curl)

【问题讨论】:

  • 如果您只想知道如何设置 cookie,this question 提供了答案。
  • 感谢您的链接。我检查了它,我以相同的方式设置 cookie(每个使用的库略有不同)但仍然没有运气

标签: python cookies urllib2


【解决方案1】:

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

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

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

要将自己的cookies发送到服务器,可以使用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

【讨论】:

【解决方案2】:
import urllib2
opener = urllib2.build_opener()
opener.addheaders.append(('Cookie', 'cookiename=cookievalue'))
f = opener.open("http://example.com/")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 2013-05-12
    • 2018-05-23
    • 2011-07-29
    相关资源
    最近更新 更多