如何使用 wget 命令下载 dropbox 文件?

如何使用 wget 命令下载 dropbox 文件?

似乎我只能使用浏览器(例如 chrome 和 firefox)下载 dropbox 文件。如果我使用 wget 下载,则会得到一个 html 格式的文件。为什么?

例如你可以打开此链接

你不会获取此文件的内容,为什么? 以下是下载的 test.txt 的一部分,这根本不是 test.txt 的内容。

那么,是否可以使用wget而不是资源管理器来下载 Dropbox 文件?

document.observe('script:loaded', function() {
SharingModel.init('test\x2etxt', Util.from_json('\x7b\x22item\x5fid\x22\x3a\x20\x22\x22\x2c\x20\x22secure\x5fhash\x22\x3a\x20\x22\x22\x2c\x20\x22subpath\x22\x3a\x20\x22\x22\x2c\x20\x22tkey\x22\x3a\x20\x22mx9eqve5l2ipgyk\x22\x7d'))
SharingModel.init_file()
$('emsnippet-9911dfc627e1d541').innerHTML = 'test\x2etxt'.em_snippet(50, 0.750).escapeHTML();
$('emsnippet-add7879f5d805012').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
$('emsnippet-981ac0639529f983').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
FilePreview.init_text('https\x3a\x2f\x2fdl\x2edropbox\x2ecom\x2fs\x2fmx9eqve5l2ipgyk\x2ftest\x2etxt', 0)                        });
                    } else if (window.jQuery) {
jQuery(function () {
SharingModel.init('test\x2etxt', Util.from_json('\x7b\x22item\x5fid\x22\x3a\x20\x22\x22\x2c\x20\x22secure\x5fhash\x22\x3a\x20\x22\x22\x2c\x20\x22subpath\x22\x3a\x20\x22\x22\x2c\x20\x22tkey\x22\x3a\x20\x22mx9eqve5l2ipgyk\x22\x7d'))
SharingModel.init_file()
$('emsnippet-9911dfc627e1d541').innerHTML = 'test\x2etxt'.em_snippet(50, 0.750).escapeHTML();
$('emsnippet-add7879f5d805012').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
$('emsnippet-981ac0639529f983').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
FilePreview.init_text('https\x3a\x2f\x2fdl\x2edropbox\x2ecom\x2fs\x2fmx9eqve5l2ipgyk\x2ftest\x2etxt', 0)                        });
                    } 

我无法使用命令获取 test.txt

wget https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.tx


ls -l 
-rw-rw-r-- 1 mirror mirror  30K Sep  6 15:01 test.txt

答案1

你问题中的链接不是文件的链接,而是该文件的Dropbox页面的链接。

如果您想使用wget它来下载,您应该从按下右侧的下载按钮时出现的菜单中复制链接以直接下载。

就我而言,效果很好。

但是,有时从浏览器外部下载链接时出现的问题与链接本身以外的参数有关。当您简单地复制链接时不存在的一个常见元素是网站 cookie。

尝试这个很酷的 FF 插件获取正确的wget链接

此外,特别是如果我们谈论的是已知工作站而不是临时工作站,您当然可以安装 Dropbox 客户端。这将是最简单的方法,只需让您的盒子成为文件结构的一部分,并消除复杂下载的需要。

看到这个askubuntu.com 帖子,以及Dropbox下载页面。

答案2

?dl=1只需在链接末尾添加即可!例如:https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.txt?dl=1

这应该可以让您很好地检索相关文件,而无需向文件添加任何内容。

还有一件事!如果你想将文件保存到其他地方,请使用-O如下选项

wget -O /root/Desktop/test.txt "https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.txt?dl=1"

如果您想要一点 GUI,您可以用它zenity标记文件要下载到的位置!

以下是示例代码:

#!/bin/bash
dir=$(zenity --file-selection --directory)
wget -O $dir/test.txt "https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.txt?dl=1"

答案3

Dropbox 已对其进行了修改,以便wget能够做正确的事情并检索文件而不是插页。

使用“共享链接”来检索文件的直接链接。

答案4

GitHub 上有一个 Python 脚本可以实现这一点:

https://github.com/dpdornseifer/dropbox_download

此外,Dropbox 服务器不支持恢复传输。

看起来 dropbox 支持使用 wget 作为客户端并自动重定向到正确的文件。或者也许 wget 只是遵循重定向?

相关内容