本文首发 惶心 | 技术博客。全文在此。
之前尝试着下载几部电影,奈何垃圾迅雷又抽风了,下载非常不稳定,于是我把目光投向了百度网盘。
百度网盘这个早就被中国人用到烂的东西,其资源丰富程度无法想象。反正几部电影都是一下子“离线下载”成功的。
但是电影下载到网盘上了,还要取回到本地。像我这种玩游戏那么多年都没充值过1分钱的人,是绝对不可能去买什么百度网盘vip的。所以我们依旧要想办法高速下载百度网盘的资源。
本篇文章,我们将用最可靠,最容易的方式,以相当高的速度,下载百度网盘上面的资源。
首先,需要说明的是,百度网盘的限速,是通过限制单线程下载速度实现的。而没有充值会员的网盘用户,即便用客户端下载,也不可能达到高速下载。而网上所有的破解(提速)方式,包括各种网盘下载器和IDM,都是通过多线程下载实现的。比方说一条线程(一个用户)限速 50kb/s,那么我用32个进程下载,那么理论上最大的下载速度就会是 1.56M/s。
百度前期是不知道(可能是没有修复)有多进程下载这种骚操作的。后来,首先是宣布了用第三方客户端下载百度网盘内容封号,导致 Pan Download 的作者紧急停用软件。然后百度出现了进一步的防御措施:IP限制和http请求头限制。
IP限制包括 ban ip 和 403. Ban IP(也就是禁用ip的意思)是百度如果侦察到一个ip大量地、超多进程地下载同一个资源,就有可能把这个ip拉黑,使其完全无法访问资源或者极端限速(5K/s)。按照我的经验来说这个闸值是16线程(所以尽量不要使用超过16线程去下载百度网盘)。403是当百度发现两个不同的ip访问同一个资源的时候,就会给后面的ip返回 403 Forbidden 错误代码,导致另外一个ip无法访问百度网盘资源。这样就杜绝了用户使用vps的大带宽特性,超高线程地下载百度网盘的可能。当然有如果有别的方式可以在vps上面单独解析、多线程下载百度网盘的话上面的两个措施都会失效,但是这不在我们的讨论范围内。
http请求头限制,我不是太懂,但是有一个简单的例子可以分析,就是http header 里面包括了你的useragent信息。当你使用浏览器访问一个网站的时候,你的浏览器会把自己的一些信息发过去,以方便网站给你返回最佳的信息(比如说对移动端做了优化的网站)。这些信息会告诉网站你的 操作系统(比如Windows10 64bit)、浏览器(比如 Google Chrome)、浏览器版本(比如 65.xxx.xxx.xxx)还有浏览器内核(比如 AppleWebKit)等等。比如说你使用Chrome分析出了百度网盘的直链,然后拉到idm里面去下载,这个时候你的请求头就是不一样的,百度就会给你返回403错误代码。
以上的措施,目的是只能让“破解”用户 单线程、使用正常的浏览器下载百度网盘的内容。破解似乎已经无路可走。
目前以我的经验,百度的下载直链分为4种。
- https://www.baidupcs.com/rest/2.0/pcs/file? 获取这种类型的直链,需要登陆百度网盘,在网盘内部想办法下载一个压缩包(最简单的方法就是把你需要下载的资源放在一个文件夹里面,然后下载整个文件夹)。这种链接限制最少、质量最好(速度相对比较快,不容易断线、丢包)。
- https://d11.baidupcs.com/file/ 这种类型的直链就是最常见的。获取方法为使用任意方法(浏览器插件、软件解析)获取百度云的直链。这种类型的链接限制最多,无法通过复制链接的方式到idm或者其他工具直接下载。
- https://xxxxxx.baidupcs.com/file/ 这种链接是 baidupcs.com 前面出现随机数字和英文字母的组合,以前是百度企业网盘的下载链接,不知道现在还是不是。比如 https://shcm09.baidupcs.com/file/ 。
- https://www.baidupcs.com/file/ 注意这一种不同于第一种,第一种是 rest/2.0/pcs/file,这一种是直接file。解释起来比较麻烦,你可以看作是和第二种一模一样的链接就对了。
综上所述,我们需要 避免拿到 d11.baidupcs.com 的直链,而争取拿到 www.baidupcs.com 或者是 xxxxx.baidupcs.com 的直链。
下面所有操作请使用 Google Chrome 操作。不推荐(实际上也无法使用)其他的任何浏览器。不知道这是啥、不知道哪里下载的请自行百度!
解析直链的方式,有且只推荐一个,那就是本站友链 凤凰山笔记 开发的Chrome插件。不推荐任何的 网盘助手、油猴脚本插件或者是网盘下载器。
下载安装完成以后,在任何界面的百度云(风险页、个人主页)点击下载按钮,都会直接下载直链,不会有任何形式的百度网盘客户端安装提示。然后我们就可以开始龟速下载了。
可以看到我们获得的直链是 d11.baidupcs.com 的链接,也就是传说中最差的链接。接下来,我们要开始骚操作了。
按快捷键 Ctrl+J 切换到下载管理,然后把鼠标移到下载链接的上方,右键,复制链接地址。
然后我们把复制出来的地址neng到地址栏,然后拖拖拖拖拖到最前面那里,把 d11.baidupcs.com 改成 www.baidupcs.com ,然后回车。
这个时候我遇到过两种情况,一种是重定向到 xxxxxx.baidupcs.com 的资源(较为常见),一种是重定向到 www.baidupcs.com 的资源。但是无论如何,我们摆脱了 d11.baidupcs.com 的限制。
刚刚测试的时候,发现 xxxxxx.baidupcs.com 可能还是存在 header限制,但是之前下载电影的时候没有。这个时候就是要看人品了。如果实在不行,就把资源保存到自己网盘,然后拉进文件夹里面直接下载,这样100%会直接出现 www.baidupcs.com然后我们就需要对下载链接进行加速了。
目前,最简单可用的两种方式,Internet Download Manager(IDM)和国人写的 ProxyEE – Down。
第一种更适合单条链接下载。第二种更像是一种完全的解决方案,官方文档不算太容易理解,需要折腾。但是两种都有一个同样的功能,那就是针对单条直链下载文件。
我将使用iPhone,在8进程,中国移动4G(网速峰值大约在2.5M/s)的环境下分别对两个软件完整地下载 ProxyEE – Down 的Windows 64bit 版本(89.26MB) 所消耗的时间进行对比。下载直链采用了最稳妥的 www.baidu.com 的资源。
测试下,IDM用时 61.46秒下载完成。平均1.45M/s。ProxyEE – Down 用时 49.43 下载完成,平均速度1.80M/s。
表现上来看,ProxyEE比IDM略好。但是ProxyEE安装步骤啥的比IDM复杂,只建议有能力的人去尝试。
Internet Download Manager | 极限压缩后4.34MB | 惶心下载ProxyEE – Down | Github地址
尽管百度网盘再辣鸡,限速再厉害,毕竟没有完全封死。而在迅雷死掉、我用百度网盘下载完我想要的电影的时候,我心里是有幸福感的。因为百度网盘毕竟免费,而且集合了众多的资源。而只要我们掌握适当的方法,就可以变废为宝。这也是另一种形式的“善用百度网盘”吧。
还有,推荐一下妖猫传,敲好看。 |