国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實現百度網盤任意文件強制下載功能

2019-11-19 13:04:47
字體:
來源:轉載
供稿:網友

代碼:

//get file list datavar data=require("system-core:context/context.js").instanceForSystem.getList().listView.listsData;//calculate signfunction base64Encode(r){var t,e,a,c,n,o,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(a=r.length,e=0,t="";a>e;){if(c=255&r.charCodeAt(e++),e==a){t+=h.charAt(c>>2),t+=h.charAt((3&c)<<4),t+="==";break}if(n=r.charCodeAt(e++),e==a){t+=h.charAt(c>>2),t+=h.charAt((3&c)<<4|(240&n)>>4),t+=h.charAt((15&n)<<2),t+="=";break}o=r.charCodeAt(e++),t+=h.charAt(c>>2),t+=h.charAt((3&c)<<4|(240&n)>>4),t+=h.charAt((15&n)<<2|(192&o)>>6),t+=h.charAt(63&o)}return t}function u(j,r){var a=[];var p=[];var o="";var v=j.length;for(var q=0;q<256;q++){a[q]=j.substr((q%v),1).charCodeAt(0);p[q]=q}for(var u=q=0;q<256;q++){u=(u+p[q]+a[q])%256;var t=p[q];p[q]=p[u];p[u]=t}for(var i=u=q=0;q<r.length;q++){i=(i+1)%256;u=(u+p[i])%256;var t=p[i];p[i]=p[u];p[u]=t;k=p[((p[i]+p[u])%256)];o+=String.fromCharCode(r.charCodeAt(q)^k)}return o}var sign=base64Encode(u(yunData.sign5, yunData.sign1)).replace(/=/g,"%3D").replace(//+/g,"%2B");//downloaderfunction down(index){$.ajax({type:"GET",url:"/api/download?sign="+sign+"×tamp="+yunData.timestamp+"&fidlist=%5B"+data[1].fs_id+"%5D",success:function(d){console.warn(d.dlink[index-1].dlink);}});}

用法:

1.進入網盤文件目錄。

2.F12打開調試工具將代碼粘貼到控制臺并回車。

3.在控制臺輸入down(文件序號)命令,回車即可得到文件的下載地址,可復制到任何下載工具滿速下載。

“文件序號”對應文件目錄列表,下載第一個文件就輸入down(1),第二個文件就輸入down(2),依此類推。注意括號是英文括號。

原理:

下載鏈接獲取接口:

通過監聽與其服務器交互的請求數據分析得到獲取下載鏈接的接口,在源文件中搜索發現了接口的調用過程。

接口:/api/download?sign=***×tamp=***&fidlist=%5B***%5D"

在去除了一些不影響調用結果的參數后得知調用接口主要需要以下參數:

1.sign(用戶身份)
2.timestamp(時間戳)
3.fs_id(文件標識碼)

sign的計算:

算法在源文件中可以發現,“var sign=”搜索全部文件即可發現算法代碼,將其復制調用就能計算出sign的值。

timestamp的獲取:

該值保存在全局變量中,直接yunData.timestamp就可以拿到。

fs_id的獲取:

調用“context.js”腳本就可以拿到文件列表,文件列表中保存了當前目錄所有文件的fs_id。

var data=require("system-core:context/context.js").instanceForSystem.getList().listView.listsData;

總結

以上所述是小編給大家介紹的JS實現百度網盤任意文件強制下載,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乌珠穆沁旗| 咸丰县| 广灵县| 平果县| 马公市| 随州市| 武鸣县| 宁化县| 通道| 大兴区| 鄂伦春自治旗| 冀州市| 新乡县| 双牌县| 峡江县| 凌云县| 伊金霍洛旗| 靖宇县| 张家口市| 叶城县| 鄢陵县| 家居| 永春县| 固原市| 廊坊市| 荣昌县| 左云县| 松阳县| 广东省| 甘洛县| 西乌| 石门县| 耒阳市| 玉林市| 利辛县| 响水县| 浪卡子县| 安溪县| 木兰县| 青铜峡市| 眉山市|