标签:ati success 文件传输 请求 方便 一个 命令操作 需要 提交
一张图让你了解百度这个企业有多恶心。立减0.46元还要贴个标签提示?消费200多差这几毛钱?
截图来自于度盘会员下单页,不吹不黑点进去自己看:https://pan.baidu.com/buy/checkoutcounter
不多吐槽了,开始教程吧。
这是正常操作的结果,会提示安装客户端才能下载。
分析页面源码可以发现不过是个脚本检查,检查文件的大小,IF大于50M就弹出提示。
要绕过检查那么直接调用它最终的下载方法就可以了。
为了方便小白这里就直接贴出调用浏览器下载的代码:
$.ajax({ type: "POST", url: "/api/sharedownload?sign="+yunData.SIGN+"×tamp="+yunData.TIMESTAMP, data: "encrypt=0&product=share&uk="+yunData.SHARE_UK+"&primaryid="+yunData.SHARE_ID+"&fid_list=%5B"+yunData.FS_ID+"%5D", dataType: "json", success: function(d){ window.location.href = d.list[0].dlink; } });
原理是百度服务端的验证,下载请求需要附加登录的用户cookie才能通过验证,对接服务端文件传输,迅雷这种外部下载工具是拿到不你浏览器中存储的cooki的。
然而有时并没有这么简单。
正常来说应该是弹出一个验证码提交框,但我们是通过命令执行去得到下载结果就不会有任何的视图层提示。
解决这个问题请参考以下方式:
我们要做的就是给要下载的文件生成一个新的下载入口,因为当前入口被服务端限制了直接下载的方式,必须验证码验证解除限制。
只是一个下载入口的问题。这里说的“下载入口”指的是文件下载页面的地址。
相比下载大文件,提速更有技术难度。大文件下载限制是客户端本地脚本控制的,度盘资源的下载速度是受百度服务端的限制。
入侵B度服务器修改限制的下载速度?有这种能力的人肯定开得起会员,不用瞎折腾了。
我也实在没试出现在还有什么方法可以在不开会员的情况下实现满速下载,只有这么个方法:
使用系统自带的Edge浏览器下载,速度有明显提升,不过撑死200K/s,感觉已经很极限了,大家可以测试一下,总比几十K/s要好。
标签:ati success 文件传输 请求 方便 一个 命令操作 需要 提交
原文地址:https://www.cnblogs.com/aucy/p/9557417.html