Wget

如何使用 wget 從 Onedrive 下載文件和文件夾?

  • February 22, 2022

如何使用 wget 從 Onedrive 下載文件?(以及批處理文件和整個文件夾,如果可能的話)

使用 Chrome(但 Firefox 可能也可以)。

  1. 打開開發工具
  2. 點擊下載按鈕。
  3. 下載但立即取消
  4. 在 DevTools 中打開“網路”選項卡。在 DevTools 中搜尋 ‘Zip?authKey=’ 並打開它(點擊)。這是一個 POST 請求。
  5. 點擊底部“表單數據”右側的“查看原始碼”。
  6. 構造命令如下:

 

wget --post-data='<raw form data>' '<Download URL>'

或者:

wget --post-data='resIds=xxx&canary=yyy&authkey=zzz' 'https://cid--foobar.users.storage.live.com/downloadfiles/V1/Zip?authKey=zzz'

這甚至適用於不同的主機(具有不同的 IP 地址)。

2021 年 4 月更新:看起來此解決方案不再適用於 ONEDRIVE FOR BUSINESS。

有一種方法對我有用(基於如何製作 OneDrive 文件的直接連結

  1. 右鍵點擊您有興趣下載的文件(從 Web 界面),然後選擇嵌入。
  2. 按*“生成 HTML 程式碼以嵌入此文件”*。
  3. 複製""src 中包含的部分就是你的連結。這看起來像 <https://onedrive.live.com/embed?cid=6EBB03E38A53ED3E& resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA>。
  4. 替換embeddownload。這看起來像https://onedrive.live.com/download?cid=6EBB03E38A53ED3E&resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA
  5. wget使用以下語法輸入它(引號是必需的):
wget --no-check-certificate "https://onedrive.live.com/download?cid=6EBB03E38A53ED3E&resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA"
  1. 享受。

引用自:https://unix.stackexchange.com/questions/223734