百度云下载时候的限速是众所周知的,不买vip就限速,就是这么任性。但是挡不住程序员们,有人 就通过分析得到了获取百度云实际链接的方法,通过实际链接+多线程下载的方式可以获取到较好速度。

话不多说直奔主题:
0、想要加速下载的文件首先要转存到自己的百度云空间。
1、获取文件实际链接的脚本,greasyfork上关键词搜索。
2、在网页上由于上一步的脚本多出来了一个按钮可以得到文件的实际下载链接,复制之。
3、右键检查元素获取到浏览器对百度云的cookies,用于aria2c下载,否则百度云服务器会拒绝。
4、aria2c多线程下载:

1
2
3
4
5
6
7
aria2c -j 60 -x 60 -s 60 --header="Cookie:复制来的cookie" -o 保存文件名 \
                  "实际下载链接"
# -j 指定aria2c最多的下载线程数
# -x 指定对同一服务器建立连接数
# -s 指定对当个文件最多下载线程数
# 我们只用该命令下载一个文件,所以-j指定的是这单个文件最大下载连接数,-x -s设置
# 该文件从这一个服务器建立60个连接同时下载。

PS: aria2c小修改

aria2c默认编译的情况下,-x选项的值只能介于1-16之间,百度云的限速基本 是一个连接100k左右,如果你的带宽也就是1.6m下载速度不错了,那就无需折腾。如果想要更大的下 在速率,比如60个连接,速度5.6M左右,就需要更改源码的16到100或者更多,重新编译。

源码文件中的OptionHandlerFactory.cc:

1
2
3
4
5
6
OptionHandler* op(new NumberOptionHandler(PREF_MAX_CONNECTION_PER_SERVER,
                                          TEXT_MAX_CONNECTION_PER_SERVER,
                                          "1", 1, 100, 'x'));
                                            # 这里将原来的16改为100,实际用的是
                                            # int32,所以可以设到更大,但是100差
                                            # 不多了

2018.01.22更新:

1
这种方式也被百度封锁了,现在连接的线程数和每个线程数的速率都被限制了。