Dropbox可以通过卷发(EX:curl -O https://dl.dropboxusercontent.com/s/file.ext
)以编程方式轻松下载单个文件。对于一个文件夹(普通目录文件夹,不是压缩文件)来说有点麻烦。与文件相对的文件夹共享链接不直接链接到压缩文件夹(Dropbox在下载文件之前自动压缩文件夹)。看起来你可以在链接的末尾添加?dl=1
,因为这将直接在浏览器中开始下载。然而,这指向了一个中间html文档,该文档重定向到实际的zip文件夹,似乎并不适用于curl。反正有curl通过共享链接下载文件夹吗?我意识到最好的解决方案是使用Dropbox api,但是对于这个项目来说,保持它尽可能简单是很重要的。此外,该解决方案必须合并到bash shell脚本中。使用卷曲通过共享链接(非公共链接)下载Dropbox文件夹
34
A
回答
70
通过使用-L
选项,似乎可以使用卷曲。这迫使curl遵循重定向。此外,指定带有.zip扩展名的输出名称很重要,因为默认值将是一个不带扩展名的随机字母数字名称。最后,不要忘记将?dl=1
添加到链接的末尾。没有它,卷曲将永远不会到达重定向页面。
curl -L -o newName.zip https://www.dropbox.com/sh/[folderLink]?dl=1
5
除非您指定了密码保护链接,否则共享链接仍然是“公共”的?
1:你直接的问题是Curl没有遵循重定向。
Dropbox没有使用重定向这么多,但似乎这样做经常这些天。
2 :(可选)Dropbox已经发送了内容处置标题及其Dropbox文件名。
如果您使用正确的卷曲标志,没有理由指定文件名。
(除非你想强迫它(使用-o),到别的东西。)
在卷曲只要使用此:
curl https://www.dropbox.com/sh/AAbbCCEeFF123?dl=1 -O -J -L
这将保存远程文件名,并按照任何重定向(3XX重定向代码)。
不要忘记将参数?dl=0
更改为?dl=1
这同一条线上既适用于单独的共享文件或整个文件夹。
(文件夹将自动保存为.Zip - 基于文件夹名称)。
请教:https://curl.haxx.se/docs/manpage.html#OPTIONS(参见:-O,-J,-L)
相关问题
- 1. dropbox共享公共链接命名?
- 2. 编程下载内容从共享的Dropbox文件夹链接
- 3. 使用DropBox API共享邮件链接
- 4. 如何获得公共共享文件/文件夹的链接
- 5. 谷歌文档 - 公共共享链接
- 6. 导航链接到Dropbox的未共享文件/文件夹
- 7. 添加共享文件夹使用共享链接
- 8. 使用Dropbox API从Dropbox共享文件夹下载文件
- 9. Box.com共享链接文件夹
- 10. SharePoint中的共享文件夹链接
- 11. 通过Dropbox共享文件夹Ruby API
- 12. 通过Dropbox API共享文件夹
- 13. 用户代理影响Dropbox共享链接下载
- 14. Dropbox API:如何使用API获取文件的共享链接?
- 15. 创建链接到共享文件夹链接到MediaWiki
- 16. 使用Dropbox共享链接将文件夹复制到Dropbox帐户,而无需再次下载和上传
- 17. 使用wget从b2drop.eudat共享链接下载文件
- 18. 访问Dropbox的公共文件(通过共享的链接),而无需用户认证
- 19. 保护链接公共下载
- 20. 获取电报中共享文件的直接下载链接
- 21. Facebook共享链接时分享链接
- 22. C#Dropbox Api检索公共共享文件夹的文件
- 23. Embeding共享链接
- 24. 链接共享库
- 25. DropBox文件夹共享
- 26. Dropbox API - 共享文件夹
- 27. 从内部链接下载pdf链接到公共URL
- 28. 如何将Dropbox共享链接(针对zip文件)下载到本地
- 29. Dropbox Python API:下载公共Dropbox文件夹
- 30. 如何通过文件ID生成谷歌驱动器共享链接的直接下载链接
尼斯尖+1,我没有检查出的Dropbox API在很长一段时间了,真不知道你可以下载整个文件夹。我几乎低估了这一点,只是因为你是一个usc粉丝。 :D(亚利桑那野猫=#1!) –
哈!感谢您的投票! – USCFan13
您不需要指定输出名称。您可以,但您也可以保留Dropbox发送的远程文件名或文件夹名称。看到我的答案。 – bshea