python - 在 Python 中发送 cookie
问题描述
我在 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。
解决方案
在您的代码中,cookie
是一个list
. 您需要发送一个dict
,或者您可以使用该requests.cookies.RequestsCookieJar()
对象:
从文档:
>>> 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"}}'
推荐阅读
- java - Groovy 没有运行脚本可能是因为权限
- html - 是否可以应用网格样式来选择纯 CSS 的选项?
- python - 连接后的Python3 Databricks考拉reset_index返回奇怪的索引
- android - 循环将文档添加到 Google Firestore
- excel - 在 excel 中,如何创建一个下拉列表,从工作表上的 4 列和 30 个特定行中填充一行?
- android - Android Studio - “android:windowFullscreen”不工作
- c++ - 同时存在一个带有 std::enable_if 的模板函数和一个普通的模板函数
- amazon-web-services - 使用 AWS Systems Manager 在多个 Windows EC2 实例中启动或停止服务
- jax-rpc - jaxrpc 和 jaxrpc-api 之间的区别?
- javascript - 如何使用服务器端 API 调用返回数据?