Cookie: 也行,抓包工具里怎么复制就怎么粘
把抓包拿到的 cookie 字符串(BAIDUID=…; BIDUPSID=…)变成程序能直接读的 Netscape cookie 文件,也就是常说的 cookies.txt / cookie jar。生成的文件可以喂给 curl -b、wget --load-cookies、yt-dlp --cookies,也能被 Python 的 MozillaCookieJar 直接 load(),或者用浏览器插件导回去。
文件里每条 cookie 占一行,7 列用制表符分开:域名、是否含子域、路径、是否只走 https、过期时间戳、名字、值。这里的「是否含子域」跟着作用域走——写 .baidu.com(带前导点)就是 TRUE,写 www.baidu.com 就是 FALSE;名称以 __Secure- / __Host- 开头的 cookie,第四列会自动写 TRUE。
整个过程在你的浏览器里完成:cookie 不会发到服务器,也不会留下记录。
| 想做什么 | 怎么做 | 推荐设置 |
|---|---|---|
| 给 curl / wget 带 cookie | 生成 cookies.txt,之后 curl -b cookies.txt <url> | 30 天后过期 |
| 下载器要登录态 | yt-dlp --cookies cookies.txt <url>,抓包时连登录后的页面一起抓 | 30 天后过期 |
| Python 脚本复用 | MozillaCookieJar().load() 后挂到 requests / urllib 的会话上 | 30 天后过期 |
| 导回浏览器 | 装一个 cookies.txt 导入类插件,选生成的文件直接导入 | 任意 |
| 只要本次会话有效 | 第 5 列写 0,关掉浏览器就失效 | 会话 |
| 连子域一起用 | 作用域写 .baidu.com,第二列自动变 TRUE | 作用域带前导点 |
命令行:curl -b cookies.txt https://example.com、wget --load-cookies cookies.txt、yt-dlp --cookies cookies.txt 。Python:cj = http.cookiejar.MozillaCookieJar('cookies.txt'); cj.load(ignore_discard=True, ignore_expires=True) 之后挂到 requests.Session().cookies 或 urllib 的 opener 上。浏览器:装一个 cookies.txt 导入类插件,选这个文件导入。
第 2 列是「是否允许该域下所有机器访问」,也就是包含子域,作用域带前导点时写 TRUE。第 4 列是 secure,表示这条 cookie 只在 https 下发送。secure 没法从字符串里看出来,所以只有名字以 __Secure- / __Host- 开头时自动写 TRUE,其余写 FALSE。
HttpOnly 也无法从 cookie 字符串里判断。确实要标记时,在生成结果里把那一行的域名前面改成 #HttpOnly_.baidu.com(整行以 #HttpOnly_ 开头),curl 和 Python 都能识别这个约定,其余列不动。
不会。页面没有任何后端接口,转换和生成都在浏览器里完成,可以断网使用。长度上没有硬限制,几千条 cookie 也只受本机内存影响。
这个工具完全在你的浏览器里运行:你输入的内容、上传的文件,都不会离开你的电脑,也不会传到任何服务器。
放心用,数据只在你自己的电脑上转一圈。
用手机相机扫描二维码,即可继续使用该工具
遇到问题或有好建议?告诉我们。