基于Cookie-Editor与curl实现跨设备的文件下载
有些时候需要在设备A上登录账号,却要在设备B上下载文件。而在设备B上却无法登录账号(无桌面浏览器),这时可以使用Cookie-Editor将设备A上的账号cookie导出,可以在设备B上导入cookie给curl使用(模拟浏览器操作)。具体使用场景,比如博主有两个aistudio账号,在账号A上有一批数据要同步到账号B上,要先将文件从账号A上下载,然后在上传到账号B上。但是在aistudio中,文件的上传下载是十分慢的。针对于此场景,则可以在设备A上使用Cookie-Editor导出账号A的cookie,然后将cookie导出账号B的命令行中,然后使用curl下载文件。
1、安装Cookie-Editor
Cookie-Editor是一个支持cookie编辑并导入导出的浏览器插件,可以到https://download.csdn.net/download/a486259/85824684下载,支持谷歌内核的系列流量器(比如谷歌浏览量、360浏览器、edge浏览量)
360浏览器安装Cookie-Editor
只需要将前面下载的文件解压,将里面的crx文件拖拽进浏览器界面,正常来说浏览器器就会提示是否加载(360浏览器就是这样的)。如果安装插件失败,比如谷歌浏览器、edge浏览器,则可以将crx文件的后缀修改为zip,然后解压。
谷歌浏览器安装Cookie-Editor
先进入扩展程序管理界面
然后点开开发者模型,在点击 加载已解压的扩展程序,选择刚刚解压的文件夹即可。
edge浏览器安装Cookie-Editor
进入扩展管理界面,先点开 开发人员模型,然后点击 加载解压缩的扩展,选择刚刚解压的文件夹即可
2、Cookie导出
在要导出cookie的网站上,点击Cookie-Editor 的图标,进入Cookie-Editor 的操作页面,点击工具图标,进入Cookie-Editor 的设置页面
在Cookie-Editor的设置页面,点击选项,设置导出格式为Netscape HTTP Cookie File
然后再到要导出cookie的网站页面打开Cookie-Editor的界面,点击倒数第3个图标,实现将cookie复制出来。然后新建一个文本为cookie.txt, 将cookie内容粘贴进去。博主一开始只导出aistudio.baidu.com的cookie,后来发现不行。因此要导出aistudio.baidu.com、www.baidu.com两个站点的cookie并合并才行
保存的cookie内容如下所示,将其导入到要使用cookie的设备中。
3、使用curl读取cookie并下载文件
下载命令为:curl -b cookie.txt -L --max-time 120 -o filename “url”
-b 用于指定cookie的路径
-L 表示是跟踪302跳转(因为很多下载链接都是302跳转的)
–max-time 用于指定链接最长无响应时间(防止服务器长时间无响应中断下载)
-o 用于指定在本地保存的文件名
url 就是指下载链接