我正在尝试为驻留在我的业务 OneDrive 帐户中的客户端下载软件。通过 OneDrive 的网络界面,我可以:
- 右键单击文件并选择共享
- 项目清单
- 将链接设置更改为“知道链接的任何人”
- 保留“允许编辑”复选框
- 复制链接
这给了我一个这样的链接:
https://company-my.sharepoint.com/:u:/g/personal/path/lKuaRC_jkBwW9IJo4rOmN8tZju8mePVw?e=lRErX4
当我浏览到该链接时,我被重定向到一个下载页面,在那里我看到一个“下载”按钮,所以我点击下载,打开下载中心并选择“复制下载链接”,这样我就有了直接下载链接。当我将该链接复制到新的私人窗口时,我可以选择直接下载文件。
当我将该链接与 curl 或 wget 一起使用时,我仍然得到 403:FORBIDDEN
例如,这是我使用的命令:
wget https://company-my.sharepoint.com/personal/path/to/the/file.aspx?SourceUrl=%2Fpersonal%2Fme%5Fcompany%5Fcountry%2FDocuments%2Fpath%2FSoftware%2FDownloadPackageLocationLinuxSP16%2Etar
和输出:
Resolving company-my.sharepoint.com (company-my.sharepoint.com)... aa.bbb.cc.d
Connecting to company-my.sharepoint.com (company-my.sharepoint.com)|aa.bbb.cc.d|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2020-01-24 14:46:48 ERROR 403: Forbidden.
Google Chrome 和 Mozilla Firerfox 都提供了专门为 cURL 复制下载链接的选项。此选项将生成包含所有必需内容的 cURL,例如用于从侧面下载内容的用户代理。为了得到那个,
--output file.extension
加以将内容保存在file.extension中,因为终端无法显示二进制数据。命令示例:
进一步阅读:为什么 curl 和 wget 会导致 403 被禁止?