如何使用wget下载带密码保护的Dropbox文件夹并指定密码?
用wget下载受密码保护的Dropbox文件夹解决方案
嘿,我懂你遇到的重定向困扰——Dropbox的密码保护分享链接确实没法直接用wget拉取,得先搞定密码验证和会话Cookie的问题,下面一步步来帮你解决:
第一步:确认基础信息
先核对你的Dropbox文件夹分享链接,格式一般是 https://www.dropbox.com/sh/xxxxxxxxx?dl=0 这类,同时记好你的保护密码。
第二步:提交密码并保存会话Cookie
Dropbox的密码验证是通过网页表单提交实现的,我们需要用wget模拟这个提交动作,同时保存验证后的会话Cookie,这样后续下载就能通过权限校验。在终端运行这条命令(替换成你的链接和密码):
wget --save-cookies cookies.txt --post-data "password=你的密码" --keep-session-cookies https://www.dropbox.com/sh/xxxxxxxxx?dl=0
参数说明:
--save-cookies cookies.txt:把验证后的Cookie保存到本地的cookies.txt文件--post-data "password=你的密码":模拟网页表单提交密码的动作--keep-session-cookies:保留会话级Cookie,避免验证状态失效
⚠️ 注意:如果你的密码包含特殊字符(比如&、=、%),需要先做URL编码,比如把&换成%26,否则会导致参数解析错误。
第三步:用Cookie下载文件夹
现在用保存好的Cookie来下载文件夹,记得把分享链接里的?dl=0改成?dl=1——这个参数是告诉Dropbox直接下载压缩包,而不是打开预览页面。运行这条命令:
wget --load-cookies cookies.txt -O 自定义文件名.zip https://www.dropbox.com/sh/xxxxxxxxx?dl=1
参数说明:
--load-cookies cookies.txt:加载刚才保存的Cookie,通过权限验证-O 自定义文件名.zip:指定下载后的文件名,方便你识别和管理
如果是大文件,还可以加上--continue参数支持断点续传,避免中途中断后重新下载:
wget --load-cookies cookies.txt --continue -O 自定义文件名.zip https://www.dropbox.com/sh/xxxxxxxxx?dl=1
额外小贴士
- 下载完成后,建议删除本地的
cookies.txt文件,避免隐私泄露 - 如果遇到多次重定向失败,可以尝试加上
--max-redirects 10参数,增加wget允许的重定向次数
内容的提问来源于stack exchange,提问作者Cloud




