【问题标题】:Handling cookiejar from requests library python处理来自请求库python的cookiejar
【发布时间】:2014-10-28 14:35:12
【问题描述】:

我在从 cookiejar 中检索 cookie 时遇到问题。

我正在尝试使用 requests 库,我想检索特定的 cookie,但我不知道如何。

也许你们中的某个人比我有更多的经验,或者可能对 Python2.7 了解更多,可以帮助我:)

例子:

import requests
r = requests.post('url')
print r.cookies

我想像处理列表或数组一样处理它,所以我可以获取特定 cookie 的值。

提前致谢。

【问题讨论】:

    标签: python python-2.7 cookies python-requests cookiejar


    【解决方案1】:

    首先确保“url”是一个完整的 url,例如'http://example.com'

    cookies 存储为字典。要访问特定的 cookie:

    r.cookies['example_cookie_name']
    

    More from the docs

    【讨论】:

    • 回溯(最近一次调用最后):文件“scraper.py”,第 49 行,在 中打印 r['2']['cfuid'] 文件“D:\ Program\Python2\lib\site-packages\requests\cookies.py",第 276 行,在 __getitem 中返回 self._find_no_duplicates(name) 文件“D:\Program\Python2\lib\site-packages\requests\ cookies.py",第 331 行,在 _find_no_duplicates 中引发 KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) KeyError: "name='__cfuid', domain=None , path=None"
    • 你确定有一个'cfuid' cookie吗?打印 r.cookies.keys() 以查看完整的 cookie 列表。
    【解决方案2】:

    如果您想要特定 cookie 的值(您知道名称),那么根据 Python Requests documentation 可以像访问字典一样访问它:

    import requests
    r = requests.post('url')
    r.cookies['cookie_name']
    

    如您所说,如果您希望将它们作为一个列表,那么您可以使用 r.cookies.keys() 返回所有键(cookie 名称)的列表,然后您可以按照上述方式访问这些键(cookie 名称),或者只是 @987654324 @ 获取所有值的列表。

    【讨论】:

      猜你喜欢
      • 2015-06-28
      • 1970-01-01
      • 2013-06-17
      • 2014-08-05
      • 1970-01-01
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      • 2019-12-01
      相关资源
      最近更新 更多