You need to enable JavaScript to run this app. 如何正确将Python requests的Cookies转为JSON格式存储到本地文件
优惠活动
大模型
产品
解决方案
定价
更多

如何正确将Python requests的Cookies转为JSON格式存储到本地文件

问题原因
  • 请求对象使用错误:调用requests.get()发起请求时,本次请求返回的cookies存储在响应对象r中,你代码中取session.cookies属于调用无关对象,会导致拿到的cookies不符合预期
  • 本地存储的cookies为字符串类型:你当前data.txt中127:000对应的值是JSON字符串,不是字典结构,requests的cookies参数只接受字典或CookieJar对象,传入字符串直接触发类型错误
  • JSON双转义问题:之前的写入操作错误地将cookies字典先转为JSON字符串再存入外层字典,最终dump后就出现了带转义符的字符串存储结果
修复现有损坏的存储文件

如果你的data.txt已经存储了字符串格式的cookies,先运行一次以下代码完成格式修复:

import json

with open('data.txt', 'r', encoding='utf-8') as f:
    proxy_data = json.load(f)

# 将字符串格式的cookies转为字典
if isinstance(proxy_data['127:000'], str):
    proxy_data['127:000'] = json.loads(proxy_data['127:000'])

# 重新写入正确格式的内容
with open('data.txt', 'w', encoding='utf-8') as f:
    json.dump(proxy_data, f, ensure_ascii=False, indent=2)
正确的cookies读写实现

场景1:普通单次请求

import json
import requests

# 读取本地存储的cookie数据
with open('data.txt', 'r', encoding='utf-8') as f:
    proxy_data = json.load(f)

# 填写你自己的请求配置
URL = "目标请求地址"
proxies = {
    # 你的代理配置
}

# 发起请求,传入字典格式的cookies
r = requests.get(
    URL,
    proxies=proxies,
    cookies=proxy_data['127:000']
)

# 从响应对象中提取最新cookies,转为字典更新到数据中
proxy_data['127:000'] = dict(r.cookies)

# 写入到本地文件
with open('data.txt', 'w', encoding='utf-8') as json_file:
    json.dump(proxy_data, json_file, ensure_ascii=False, indent=2)

场景2:使用Session维持会话

import json
import requests

# 初始化会话对象
session = requests.Session()

# 读取本地存储的cookie数据
with open('data.txt', 'r', encoding='utf-8') as f:
    proxy_data = json.load(f)

# 给会话设置cookies
session.cookies.update(proxy_data['127:000'])

# 填写你自己的请求配置
URL = "目标请求地址"
proxies = {
    # 你的代理配置
}

# 用会话发起请求
r = session.get(URL, proxies=proxies)

# 从会话中提取最新cookies,转为字典更新到数据中
proxy_data['127:000'] = dict(session.cookies)

# 写入到本地文件
with open('data.txt', 'w', encoding='utf-8') as json_file:
    json.dump(proxy_data, json_file, ensure_ascii=False, indent=2)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 05:15:02