【问题标题】:How to prevent python requests from sending stored cookies如何防止python请求发送存储的cookie
【发布时间】:2019-06-28 15:18:47
【问题描述】:

我的脚本中的 Python 请求会自动将存储的 cookie 插入到请求中,即使我没有在对网页的第一个请求中指定 cookie。如何防止它或如何删除存储的 cookie 或它们存储在哪里?

我已尝试使用

删除所有 cookie
CookieJar.clear()

cookies.clear()

我也尝试过不使用会话方法发送普通请求。

import http.cookiejar, urllib.request
import requests

cj = http.cookiejar.CookieJar()
cj.clear()

headers = {
    'Connection': 'keep-alive',
    'Pragma': 'no-cache',
    'Cache-Control': 'no-cache',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'cs-CZ,cs;q=0.9'
}
s=requests.session()
s.get('https://admin.booking.com/', headers=headers)
r=s.get('https://admin.booking.com/', headers=headers)
s.cookies.clear()
r.cookies.clear()

我想发送与从网络浏览器相同的请求,但不添加存储 饼干。或者删除存储的 cookie。

【问题讨论】:

  • 使用新会话。
  • 您是如何断言 cookie 被存储和发送的?
  • 我可以看到在标头中发送的 r.request.headers()。
  • 如何设置新会话?我已经尝试过 s.session() ,但我仍然在请求标头中得到相同的 cookie。
  • 您是否可能被重定向并且 cookie 是由服务器设置的?

标签: python session cookies python-requests


【解决方案1】:

问题解决了。我不知道 python 请求会自动响应重定向标头。为了显示重定向历史,我使用了这段代码。

print(r.history)
for i,response in enumerate(r.history,1):
    print(i,response.url)

print(r.status_code,r.url)

感谢您的帮助。

【讨论】:

    猜你喜欢
    • 2011-02-16
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 2017-12-01
    • 2020-12-31
    相关资源
    最近更新 更多