測試發現是受cookie的影響,百度為了防止用外部下載工具突破限速加入了cookie驗證,因為一般的下載工具請求下載的時候不會附加cookie信息。
IDM就是這樣,它請求下載文件時只知道文件的下載地址,並不會在請求協議里附加cookie。
可以通過代理服務器做手腳加入cookie。
這里的cookie只需要一個值,BDUSS的值。
先從網盤頁面拿到cookie值。
打開一個可以修改數據包的代理軟件,如charls。
菜單tools-rewrite-enable rewrite,add一條修改規則。
然后配置IDM,選項-代理服務器-使用系統代理,接受代理。
成功建立下載。
順便說下迅雷下載403的解決方法:
同樣是因為解決BDUSS的驗證。
迅雷有內置瀏覽器,只要將BDUSS的cookie值寫入其瀏覽器cookie數據表中,迅雷建立下載任務時會自動附加同域下的cookie。
查找發現迅雷內置瀏覽器的cookie數據保存在”Thunder Network\Thunder\Profiles\XLBrowserApp\CacheData\Cookie“,記事本打開發現是一個sqlite數據表。
隨便打開一個數據表操作工具在Cookies表中寫入BDUSS值,然后可以將百度的下載鏈接復制到迅雷測試下載了。