笔图网 文件下载协议分析
https://bitu360.com/
刚刚看到吾爱有个大佬分享了一波:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y8n4Qy7D-1603178682343)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201020105231811.png)]
然后闲的没事就去点了几下
嘿,还真给,联想起上次易图网给了永久会员,但是等到人一多,给你永久会员取消了
那就先下载吧~
2. 分析下载协议
-
- 随便打开一个图片
-
2.点击免费下载,回调到下载界面,不要管他,注意浏览器地址参数是不变的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sDcSM3H1-1603178682346)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201020105453291.png)]
只要参数不变就不害怕,这种傻瓜式传参最容易了。
-
- 弹出下载按钮,点击后即可下载,因此我们任务最终的下载逻辑在这里
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ggFDBnr3-1603178682348)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201020105627467.png)]
- 点击后直接下载,不是超链接,所以这个按钮是js函数
- 记住这个下载的地址:
- 看一下代码,发现是两个js函数
<div class="downloadBtns"> <div class="vipDownloadBtn" onclick="downloadProduct(1,278439,3,true)">高速下载</div> <div class="normalDownloadBtn" onclick="downloadProduct(1,278439,3,false)">普通下载</div> </div>
- 全局搜索一下这个函数ctrl+shift+f
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oeqzkdho-1603178682352)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201020110945871.png)]
- 很简单的一个函数
- 命名方式看不懂 debug走一下
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ICnZT9t9-1603178682354)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201020111539165.png)]
- 同样的方法找到httpForBt 函数
function httpForBt(url,type,data,success,async)
{if(async==null)
{async=true}$.ajax(
{type:type,async:async,data:data,
url:url,
success:function(data){
if(success!=null){
success(data)
}
},
error:function(){}})}
- 没做什么,那我们自己发一个ajax 请求看看
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h7wENKqj-1603178682357)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201020111900310.png)]
- 发现这个返回的data 就是我们点击js 下载的连接
- 完工了。。