测试发现是受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值,然后可以将百度的下载链接复制到迅雷测试下载了。