如何使用 wget 指令下載 dropbox 檔案?

如何使用 wget 指令下載 dropbox 檔案?

似乎我只能使用 Chrome 和 Firefox 等瀏覽器下載 Dropbox 檔案。如果我使用 wget 下載,那麼我會得到一個 html 格式的檔案。為什麼?

例如你可以打開這個鏈接

你不會得到這個文件的內容,為什麼?下面是test.txt的一部分來下載吧,這根本不是test.txt的內容。

那麼是否可以使用wgetExplorer 而不是下載 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 只是遵循重定向?

相關內容