即使页面上有我,也要求CookieJar清空

2024-10-01 11:36:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python3.5.1上,使用请求,代码的相关部分如下:

req = requests.post(self.URL, data={"username": username, "password": password}) 
self.cookies = {"MOODLEID1_": req.cookies["MOODLEID1_"], "MoodleSession": req.cookies["MoodleSession"]}

self.URL有正确的页面,并且帖子按预期工作,我打印了一些内容来检查,结果通过了。在

我的输出:

^{pr2}$

我试图在运行时调试以检查req.cookies有什么。但我得到的是令人惊讶的,至少对我来说。如果您在self.cookies = {...}上设置一个断点并运行[(c.name, c.value, c.domain) for c in req.cookies],我会得到一个空列表,就像里面没有任何cookie一样。在

这个网站确实发送了cookies,通过Chrome扩展,我找到了2个“MOODLEID1”和“MoodleSession”,为什么我没有得到它们呢?在


Tags: 代码selfurl内容datausernamepassword页面
1条回答
网友
1楼 · 发布于 2024-10-01 11:36:51

响应似乎不包含任何cookies。在req.headers中查找一个或多个Set-Cookie头。在

浏览器中存储的cookie之所以存在,是因为响应中包含了每个cookie的Set-Cookie头。您必须找到服务器设置这些cookie的响应;显然它不是这个响应。在

如果您需要在请求之间保留这些cookie(一旦设置),请使用^{} object;这将保留响应返回的所有cookie,并根据需要在新请求中再次发送它们。在

相关问题 更多 >