FEATURED · 精选文章

还在手动复制 Cookie?用 Get cookies.txt LOCALLY 一次搞定导出与自动化

发布时间 / 2026/8/19 1:25:13
来源 / 创域科博编辑部
栏目 / 资讯中心
还在手动复制 Cookie?用 Get cookies.txt LOCALLY 一次搞定导出与自动化 还在手动复制 Cookie用 Get cookies.txt LOCALLY 一次搞定导出与自动化【免费下载链接】Get-cookies.txt-LOCALLYGet cookies.txt, NEVER send information outside.项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY如果你做过爬虫、调试过需要登录态的接口、或者想在两台设备之间迁移登录状态大概都经历过同一个噩梦对着 DevTools 里的 Application 面板一条条翻 Cookie手抖复制再按某种格式手拼成文本。运气好五分钟搞定运气差拼错一个字段服务端直接给你一个 403。而 Get cookies.txt LOCALLY 这个开源浏览器扩展要解决的正是这件事——在本地一键导出 cookies.txt而且它的设计底线只有一句话Get cookies.txt, NEVER send information outside数据永远不会离开你的设备。那些年我们是怎么徒手取 Cookie的先复盘一下常规做法有多麻烦。最常见的两条路打开开发者工具 → Application → Cookies找到目标域名挨个复制 Name、Value、Domain、Path、Expiry……再手动拼成 Netscape 格式。字段一多眼睛先瞎。用某些第三方Cookie 管理工具。这类工具有个隐患——你永远不知道它的服务器在做什么。Cookie 里装的可都是你的登录凭证交给陌生人保管风险自己掂量。两条路的共同痛点要么累要么不安全。有没有一个东西既能把取 Cookie变成一键操作又让整个过程肉眼可见地留在本机认识主角一个能放进浏览器的本地导出器Get cookies.txt LOCALLY 就是一个 Manifest V3 的浏览器扩展支持 Chrome 和 Firefox。它的思路非常朴素通过浏览器官方提供的chrome.cookiesAPI 读取当前标签页的 Cookie然后在本机整理成你要的格式。全程没有网络请求、没有后端服务器、没有埋点统计。它支持的导出格式有三种覆盖了绝大多数使用场景Netscape 格式.txt最经典的 Cookie 文件格式wget、curl、Python 的 MozillaCookieJar 都能直接读JSON 格式适合程序化处理键值结构一目了然Header String拼成namevalue;的请求头格式调试接口时直接粘进请求头就能用。界面上提供了四个按钮各管一摊Export把当前标签页的 Cookie 导出成文件文件名自动带上域名Export As同上但可以自定义保存位置和文件名Copy不落盘直接把 Cookie 内容复制到剪贴板Export All Cookies一键导出当前浏览器里全部站点的 Cookie。每次打开弹窗它还会实时把当前站点的 Cookie 列表渲染成表格Domain、Path、Secure、Expiry 一目了然——想先看一眼再导出也行。先装上它30 秒跑通第一次导出安装方式有两种。图省事的话直接去 Chrome Web Store 或 Firefox Addons 搜索安装想自己掌控一切也可以从源码加载。源码方式在 Chrome 里只要四步git clone https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY克隆下来后进入src目录打开chrome://extensions/开启右上角的开发者模式点击加载已解压的扩展程序选中src文件夹即可。如果你在用 Firefox需要先用npm install安装依赖再执行npm run build:firefox把两个 manifest 合并生成对应版本。装好后打开任意一个登录过的网站点一下工具栏图标你会看到类似上面的弹窗顶部是操作按钮下方是当前站点的 Cookie 明细表。点一下Export一个域名_cookies.txt文件就出现在下载目录里了。打开这个文件你会看到熟悉的三行注释头以及按 Tab 分隔的 Cookie 记录——这就是 wget 和 curl 能直接认的 Netscape 格式。深入一点三个模块是怎么协同的这个扩展值得说道的地方在于它的核心逻辑被拆成了三个干净的模块全部放在src/modules/下。即便你不需要二次开发读一遍这三个文件也能彻底搞懂导出 Cookie这件事的原理。第一步取数据 —— get_all_cookies.mjsgetAllCookies是入口它接收筛选条件比如指定url然后调用浏览器原生的chrome.cookies.getAll。这里有个细节处理值得学习新版 Chrome 引入了partitionKey分区 Cookie概念但老版本浏览器不认识这个字段所以代码里先单独用partitionKey请求一次失败就静默降级为空数组再用不带该字段的参数请求一遍最后把两拨结果合并。这样新老浏览器都能稳定工作。第二步转格式 —— cookie_format.mjsjsonToNetscapeMapper把浏览器返回的 JSON Cookie 对象映射成 Netscape 表格行域名、是否包含子域名、路径、Secure 标记、过期时间、名称、值共 7 个字段再用制表符拼起来。同文件里的formatMap还定义了三种格式的序列化器包括 JSON 和 Header String。第三步落盘 —— save_to_file.mjssaveToFile把文本包进 Blob生成对象 URL然后交给chrome.downloads.download触发下载。注意它还监听下载状态变化等下载不再是 in_progress 状态时就回收掉临时 URL避免内存泄漏。Firefox 下由于弹窗限制会先把消息转发给后台脚本再执行保存——跨浏览器兼容就是这么一点点抠出来的。进阶玩法把 Cookie 导出做成自动化任务到这里你手里已经握住了三块积木。把它们拼起来就能写出属于自己的 Cookie 导出脚本。比如把某个网站的 Cookie 定时导出成文件供爬虫或自动化测试使用import getAllCookies from ./src/modules/get_all_cookies.mjs; import { jsonToNetscapeMapper } from ./src/modules/cookie_format.mjs; import saveToFile from ./src/modules/save_to_file.mjs; async function exportCookies() { // 只取当前这个域名的 Cookie const cookies await getAllCookies({ url: https://example.com }); // 转成 Netscape 表格行 const rows jsonToNetscapeMapper(cookies); // 加上文件头注释拼成标准格式文本 const text [ # Netscape HTTP Cookie File, , ...rows.map((row) row.join(\t)), , ].join(\n); // 落盘保存文件名自动带 .txt 后缀 await saveToFile(text, example_cookies, { ext: .txt, mimeType: text/plain }); console.log(导出完成共, cookies.length, 条 Cookie); } exportCookies();配合定时任务比如系统 crontab 或者node-schedule就能实现每天凌晨自动导出一次最新 Cookie彻底告别手动操作。如果手头要管好几个站点把逻辑包装成循环即可const websites [ { url: https://example.com, file: example_cookies }, { url: https://another-site.com, file: another_cookies }, ]; for (const site of websites) { try { const cookies await getAllCookies({ url: site.url }); const text jsonToNetscapeMapper(cookies) .map((row) row.join(\t)) .join(\n); await saveToFile(text, site.file, { ext: .txt, mimeType: text/plain }); console.log(site.url, 导出成功); } catch (err) { console.error(site.url, 导出失败, err); } }安全性凭什么信它绝不外传数据零外传这种话谁都会说。但这个项目把凭什么摆在了明面上源码开源且未混淆整个项目就十几个文件随便翻。README 和 manifest 里把每个权限的用途都列得明明白白——cookies只读不写不传、downloads仅用于导出本地文件、activeTab用于获取当前标签页地址、notifications只用来提示版本更新。没有网络权限manifest.json里根本没申请网络请求的权限扩展代码里也找不到任何 fetch 或 XHR 调用。没有出口的管道自然谈不上外传。体积小到能肉眼审查核心逻辑就是取数、格式化、保存三步没有任何隐藏的小动作藏身之处。对比那些需要你把 Cookie 粘贴到网页里在线转换的工具这个扩展把信任问题从相信一个陌生人降级成了看一眼代码就放心。写在最后回顾开头那个手抖拼 Cookie的场景装好扩展、点一下 Export、把文件丢给 wget——整个过程从五分钟压缩到五秒而且每一步都发生在你自己的浏览器和磁盘里。如果你恰好需要频繁导出 Cookie又对数据安全有要求不妨从源码加载一次亲眼看看那三个模块是怎么把这件事做干净的。毕竟最让人安心的工具往往是那种小到你可以完全读懂它的工具。【免费下载链接】Get-cookies.txt-LOCALLYGet cookies.txt, NEVER send information outside.项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻