跳到主要内容
claudecookie
返回转换器

Netscape cookies.txt 格式

所有命令行工具至今仍在使用的格式。每条 Cookie 占一行,共七个字段,用制表符分隔 — 不是空格。以 # 开头的行是注释,只有一个刻意设计的例外。

cookies.txt
# Netscape HTTP Cookie File
# https://curl.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.

.example.com	TRUE	/	TRUE	1798761600	session_id	8f14e45fceea167a5a36dedd4bea2543
#HttpOnly_.example.com	TRUE	/	TRUE	1798761600	auth_token	eyJhbGciOiJIUzI1NiJ9.e30.ZRrHA1JJJW8opsbCGfG_HACGpVUMN_a9IV7pAx_Zmeo
example.com	FALSE	/account	FALSE	1798761600	theme	dark
.example.com	TRUE	/	FALSE	0	cart_preview	tmp-4471

七个字段

#字段含义取值
1domainCookie 所属的主机。开头的点表示它同样作用于子域名。.example.com
2includeSubdomains是否包含子域名。与开头的点含义重复,各解析器对以哪个为准并不一致 — 本站以点为准。TRUE 或 FALSE
3pathCookie 生效的 URL 路径。/ 或 /app
4secure是否仅通过 HTTPS 发送。TRUE 或 FALSE
5expires以秒为单位的 Unix 时间戳。0 表示会话 Cookie。1767225600 或 0
6nameCookie 名称。session_id
7valueCookie 的值,原样取到行尾,其中可以自由包含 = 和 ;。abc123

#HttpOnly_ 前缀

原始格式无法表达 http-only 属性,于是 curl 增加了一种写法:在域名前加上 #HttpOnly_ 前缀。由于该行以井号开头,不理解它的解析器会把它当成注释跳过,而不会报错。curl、wget 和 yt-dlp 都能识别这个前缀。

容易踩的坑

  • 分隔符是制表符。通过聊天窗口或网页表单转发文件时,制表符经常被换成空格,严格的解析器就会失败。本转换器仍会解析这类文件,并给出提示。

  • 值一直延伸到行尾,因此可以不转义地包含 = 和 ;。按这些字符切分会破坏 JWT 和 base64 内容。

  • 有效期已过的行依然是合法的。工具只会忽略这条 Cookie,看起来就跟它不存在一模一样。

  • 有些程序在值为空时会省略末尾的制表符,于是只剩下六个字段而不是七个。

使用这一格式的工具

curl
curl -b cookies.txt 发送,-c cookies.txt 保存。
wget
--load-cookies 与 --save-cookies。
yt-dlp
--cookies cookies.txt,这也是转换浏览器导出文件最常见的原因。
Python requests
通过 http.cookiejar.MozillaCookieJar 使用。

在转换器中试试

转换器