一、403报错原因
查看多篇博客并亲自实践后,得出的结论是,百度对cookie进行了验证
原文:IDM下载百度资源出现403的解决方法 - 池温希傲 - 博客园 (cnblogs.com)
上面这篇博客提出的解决方法挺详细的,但是最后用 Charles 的地方,我自己是有点不一样的,用他的行不通。
推荐是先大致浏览上面这篇博客清楚原理,然后直接跟我来操作
抓包工具的安装可以看我的抓包工具Charles安装 | Cimoc
二、解决方法
首先,默认认为你已经掌握获取百度网盘直链和UA的方式,以及web基本的调试操作。
下面开始教程,
获取自己百度网盘的 Cookie,找到BDUSS的值,需要注意的是可能有多个 BDUSS 前缀的 Cookie,千万不要拿错了。如图
设置IDM的代理服务器
直接用IDM进行下载,应该能看到Charles已经抓取到请求。
在Charles中设置对request的Rewrite
原来那篇博客里用的是Modify,我尝试之后会覆盖所有的Header信息,包括UA,所以改成了使用Add
设置完之后就可以直接用IDM开始下载了