gpt4 book ai didi

python - POST 请求不发送 session cookie

转载 作者:行者123 更新时间:2023-12-01 07:58:44 25 4
gpt4 key购买 nike

我使用以下代码与网站交互:

session = requests.session()
get = session.get(LANDING_URL, headers=HEADERS)
post = session.post(LANDING_URL, headers=HEADERS, data=PARAMS)

我使用 session 对象在调用之间保留 cookie,但 get 请求之后的 post 请求似乎不使用 session cookie。以下输出来自 pdb:

(Pdb) get.cookies
<RequestsCookieJar[Cookie(version=0, name='ASP.NET_SessionId', value=...)]>
(Pdb) post.cookies
<RequestsCookieJar[]>
(Pdb) session.cookies
<RequestsCookieJar[Cookie(version=0, name='ASP.NET_SessionId', value=...)]>

这是否意味着 post 请求未使用 session cookie?如果是这样,为什么不呢?

最佳答案

页面可能使用 JavaScript 添加 cookie,并且请求无法运行 JavaScript。

使用get.cookiespost.cookies仅显示从服务器发送的cookie,而不显示发送到服务器的cookie。

session 应保留之前请求中的所有 cookie 并在 POST 请求中发送它们。

您可以使用httpbin.org 。如果您发送 GET 请求到httpbin.org/get或邮寄至httpbin.org/post然后它会向您发送回(作为 JSON)所有 header 、数据、cookie 等。 httpbin.org 上还有其他有用的功能

您还可以安装本地代理服务器,如 CharlesMan-In-The-Middle-Py并通过代理发送请求。您将在代理中看到正文和 header 。您可以将代理与 Web 浏览器和脚本一起使用,以将您的请求与来自浏览器的请求进行比较。

您还可以检查post.request.bodypost.request.headers。我从未使用过它,但它应该将正文和 header 发送到服务器。

关于python - POST 请求不发送 session cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55819809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com