Linux命令行下载OneDrive分享链接中的文件

博客介绍了如何绕过OneDrive在国内下载时遇到的403错误,通过使用curl命令和特定的User-Agent头来获取实际的下载链接。这种方法适用于文件和文件夹下载,确保了在国外服务器上能高速下载后再转存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我所知的某个游戏分享站喜欢用OneDrive来分享游戏,用OneDrive很好,抵制百度网盘我强烈支持,但是OneDrive国内有时候抽风比较厉害,而在国外OneDrive下载几乎能跑满带宽,我G口的服务器可以跑到110M/s,所以用国外服务器下载,然后再下载自己服务器里的东西会比较好。

但是因为OneDrive有些坑,无法从分享界面获取真实下载链接,比如下面这个链接

https://gitaccuacnz2-my.sharepoint.com/:f:/g/personal/mail_finderacg_com/EheQwACFhe9JuGUn4hlg9esBsKyk5jp9-Iz69kqzLLF5Xw?e=FG7SHh

点开之后,找个文件点击下载,会得到这样的下载链接:

https://gitaccuacnz2-my.sharepoint.com/personal/mail_finderacg_com/_layouts/15/download.aspx?UniqueId=cb44677f%2Dc4af%2D44ad%2D88d4%2Dceb07d9625da

但是如果直接在服务器里 wget 这个下载链接,100%会403: Forbidden

最终得到的正确链接为:

curl 'https://gitaccuacnz2-my.sharepoint.com/personal/mail_finderacg_com/_layouts/15/download.aspx?UniqueId=cb44677f%2Dc4af%2D44ad%2D88d4%2Dceb07d9625da' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Accept-Language: zh-HK,zh-TW;q=0.5' --compressed -H 'Connection: keep-alive' -H 'Referer: https://gitaccuacnz2-my.sharepoint.com/personal/mail_finderacg_com/_layouts/15/onedrive.aspx?.......' -H 'Cookie: CCSInfo=NS8yOS8yMDIwIDEwOjE1OjE0IEFNC/.....; FeatureOverrides_enableFeatures=; FeatureOverrides_disableFeatures=' -H 'Upgrade-Insecure-Requests: 1' -H 'Sec-Fetch-Dest: iframe' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-Site: same-origin' --output file.extension

同时这个方法也适合文件夹下载,只不过前缀是 xxxxx-mediap.svc.ms ,其中xxxxx是地区代号,不同的下载链接所指向的地区不同,具体看情况,这里就不再赘述。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值