【问题标题】:Sending cookies in Python在 Python 中发送 cookie
【发布时间】:2018-12-30 04:41:37
【问题描述】:

我在 python 中有一些像这样存储的 cookie:

    cookie = [
{"""
    "domain": ".justdial.com",
    "expirationDate": 1577653041.993055,
    "hostOnly": false,
    "httpOnly": true,
    "name": "_ctk",
    "path": "/",
    "sameSite": "no_restriction",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "893b0b69e25c0359d6e1fd88f16fea90a4bd2e0e8f8356e80bfc572e7f7e1343",
    "id": 1"""
},
{"""
    "domain": ".justdial.com",
    "expirationDate": 1546136368,
    "hostOnly": false,
    "httpOnly": false,
    "name": "_fbp",
    "path": "/",
    "sameSite": "no_restriction",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "fb.1.1546114608524.1389346931",
    "id": 2"""
}
]

requests.post(URL, cookies=cookie)

我正在尝试使用请求发送这些 cookie,但这不起作用。是格式不对,还是我发送的方式不对?

感谢您的帮助!使用 RequestsCookieJar 有效,但我找到了另一种方法:我将其保存到单独的文件中,然后使用 json 库以正确的格式获取它并能够发送 cookie。

【问题讨论】:

  • “不起作用”是一个过于不精确的错误描述。错误或输出是什么,实际发生了什么(编辑问题以将其显示为格式正确的文本)?

标签: python json cookies web-scraping python-requests


【解决方案1】:

在您的代码中,cookielist。您需要发送dict,也可以使用requests.cookies.RequestsCookieJar() 对象:

来自the docs:

>>> jar = requests.cookies.RequestsCookieJar()
>>> jar.set('tasty_cookie', 'yum', domain='httpbin.org', path='/cookies')
>>> jar.set('gross_cookie', 'blech', domain='httpbin.org', path='/elsewhere')
>>> url = 'https://httpbin.org/cookies'
>>> r = requests.get(url, cookies=jar)
>>> r.text
'{"cookies": {"tasty_cookie": "yum"}}'

【讨论】:

    猜你喜欢
    • 2020-02-22
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    • 2014-08-02
    • 2020-04-06
    • 2017-01-27
    相关资源
    最近更新 更多