You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

requests会话Cookie会在循环后被删除吗?代码调试时Cookie未显示

问题分析与解决

首先明确:requests会话中的Cookie不会被循环自动删除,你的问题出在代码的几个关键细节上:

  • 变量名冲突:你直接把requests模块名赋值为requests.Session()实例,虽然能运行,但会覆盖原模块的引用,后续调用模块其他方法会报错。建议改用不同的变量名,比如sess = requests.Session()。
  • 手动传入的Cookie不会存入会话:你每次请求手动传递的cookies参数,只是本次请求临时携带的Cookie,并不会自动保存到会话的cookiesJar中。会话的cookiesJar仅会自动存储服务器通过Set-Cookie响应头返回的Cookie。如果目标服务器没有在响应中设置Cookie,会话的cookies自然是空的。
  • 验证方式错误:你打印的是会话的cookies,但如果服务器没返回Cookie,自然看不到内容。要验证手动传入的Cookie是否生效,应该查看请求的请求头(比如response.request.headers),或者检查响应中是否有依赖该Cookie的内容。

修正后的示例代码

import requests

# 用独立变量存储会话,避免覆盖原模块
sess = requests.Session()

for x in range(0,5):
    cookies = {
        'key': 'iteration: '+ str(x)
    }
    # 发起请求并携带手动设置的Cookie
    response = sess.get('https://example.com', cookies=cookies)
    # 查看本次请求实际携带的请求头(包含Cookie)
    print(f"第{x}次请求的请求头:", response.request.headers)
    # 如果服务器返回了Set-Cookie,会话会自动保存,此时打印会话Cookie才有内容
    print(f"第{x}次请求后会话中的Cookie:", sess.cookies)

内容的提问来源于stack exchange,提问作者renea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 14:30:59