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

使用Firefox导出的cookies.txt调用Python Requests报Invalid header value错误求助

解决Requests加载Firefox导出的cookies.txt时的ValueError问题

我之前也碰到过一模一样的情况,Firefox插件导出的cookies.txt经常会带一些不符合HTTP规范的内容,或者格式细节和Python的CookieJar预期的不匹配,才会触发这个Invalid header value错误。下面是几个亲测有效的解决思路:

方法1:用MozillaCookieJar直接加载(最直接的官方方式)

Python的http.cookiejar.MozillaCookieJar本来就是用来处理Netscape格式的cookies.txt的,这是官方推荐的加载方式,先试试这个:

import requests
from http.cookiejar import MozillaCookieJar

# 初始化CookieJar并加载本地文件
cookie_jar = MozillaCookieJar()
# ignore_discard和ignore_expires用来保留那些本来会被丢弃/过期的Cookie
cookie_jar.load('cookies.txt', ignore_discard=True, ignore_expires=True)

# 把CookieJar绑定到Session上
session = requests.Session()
session.cookies = cookie_jar

# 测试请求
response = session.get('https://你的目标网站地址')
print(response.status_code)

如果还是报错,那基本可以确定是导出的cookies.txt里有非法字符或者格式错误了。

方法2:手动清理cookies.txt的问题内容

打开你的cookies.txt文件,检查这几个点:

  • 每一行是否严格遵循Netscape格式:域名\t是否允许子域名\t路径\t是否安全\t过期时间\tCookie名称\tCookie值
  • 重点看Cookie的值部分,有没有包含换行、制表符、双引号这类HTTP头禁止的字符(这些是触发错误的重灾区)
  • 删掉值明显异常的Cookie行,或者手动转义特殊字符(比如把换行替换成\n,不过更稳妥的是直接移除有问题的Cookie)

方法3:跳过导出,直接从Firefox读取Cookie(最省心)

如果手动清理太麻烦,推荐用browser-cookie3库直接读取Firefox的本地Cookie存储,完全不用导出文件,从根源避免格式问题:

先安装库:

pip install browser-cookie3

然后用代码读取:

import requests
import browser_cookie3

# 直接从Firefox获取CookieJar
cookie_jar = browser_cookie3.firefox()

session = requests.Session()
session.cookies = cookie_jar

# 发起请求
response = session.get('https://你的目标网站地址')
print(response.status_code)

这个库会自动处理Firefox的Cookie存储格式,还能过滤掉不符合规范的Cookie,我自己遇到这类问题时基本用这个方法解决。

为什么会出现这个错误?

本质是HTTP协议对Cookie值的字符有严格限制,Firefox本身允许存储一些特殊字符,但当Requests尝试把这些字符放到HTTP请求头里时,就会触发Invalid header value的校验错误。另外,部分导出插件可能没有严格遵循Netscape的cookies.txt格式,也会导致加载失败。

内容的提问来源于stack exchange,提问作者Rafed Muhammad Yasir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:05:27