說明:此文章僅供學習交流使用 如有侵權 立刻刪除! 複製開始 var s5 = ''+yunData.sign5;var s1 = ''+yunData.sign1;var t1 = s(s5,s1);var SIGN = base64Encode(t1);SIGN = encodeURICompo ...
說明:此文章僅供學習交流使用 如有侵權 立刻刪除!
複製開始
var s5 = ''+yunData.sign5;
var s1 = ''+yunData.sign1;
var t1 = s(s5,s1);
var SIGN = base64Encode(t1);
SIGN = encodeURIComponent(SIGN);
var APPID = 250528; // 這裡改成自己的 APPID 查找方法 :頁面載入完成 打開控制台 點擊console 標簽 然後 Ctrl+F搜索 app_id 後面的數字就是APPID
function s(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}
function base64Encode(t){var r,e,a,n,i,o,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(a=t.length,e=0,r="";a>e;){if(n=255&t.charCodeAt(e++),e==a){r+=s.charAt(n>>2),r+=s.charAt((3&n)<<4),r+="==";break}if(i=t.charCodeAt(e++),e==a){r+=s.charAt(n>>2),r+=s.charAt((3&n)<<4|(240&i)>>4),r+=s.charAt((15&i)<<2),r+="=";break}o=t.charCodeAt(e++),r+=s.charAt(n>>2),r+=s.charAt((3&n)<<4|(240&i)>>4),r+=s.charAt((15&i)<<2|(192&o)>>6),r+=s.charAt(63&o)}return r}
var FSID = 0;
var FSIDS = new Array();
var FNAME = '';
var _MYBDSTOKEN = yunData.MYBDSTOKEN;
var _timestamp = yunData.timestamp;
var xFilePath = '';
if(location.href.indexOf('&vmode=list') > -1 || location.href.slice(-3) == '%2F'){
xFilePath = encodeURIComponent('/');
}else{
xFilePath = location.href.match(/\=%2F(.){1,}/i)[0].slice(1);
}
var xBDLink1 = 'https://pan.baidu.com/api/list?dir='+decodeURIComponent(xFilePath)+'&bdstoken='+_MYBDSTOKEN+'&num=100&order=time&desc=1&clienttype=0&showempty=0&web=1&page=1&channel=chunlei&web=1&app_id='+APPID;
var xBDLink2 = '';
var xBDLink3 = '';
$.ajaxSetup({async : false});
// 查看要下載的文件 是列表中的第幾個
var cNum = 0;
function getWhich(fileName){
var cFileName = fileName;
$.get(xBDLink1,function(data){
var dataList = data.list;
for(i in dataList){
var currentFileName = dataList[i].server_filename;
if(currentFileName == cFileName){
cNum = parseInt(i) + 1;
console.log('列表第' + cNum + '個文件');
}
}
});
}
// 獲取單個文件id
function getFileID(index){
var ii = parseInt(index-1);
var xFid = new Array();
var xFileName = new Array();
$.get(xBDLink1,function(data){
var dataList = data.list;
for(i in dataList){
xFid.push(dataList[i].fs_id);
xFileName.push(dataList[i].server_filename);
}
FSID = xFid[ii];
FSID = '[' + FSID + ']';
FSID = encodeURIComponent(FSID);
FNAME = xFileName[ii];
});
}
// 獲取列表文件id 集合
function getListID(){
var xFid = new Array();
var xFileName = new Array();
$.get(xBDLink1,function(data){
var dataList = data.list;
for(i in dataList){
if(dataList[i].isdir != 1){
xFid.push(dataList[i].fs_id);
}
}
FSIDS = xFid;
FSIDS = '[' + FSIDS + ']';
FSIDS = encodeURIComponent(FSIDS);
});
}
// 單個文件下載
function getLink1(SIGN,FSID){
xBDLink2 = 'https://pan.baidu.com/api/download?sign='+SIGN+'×tamp='+_timestamp+'&fidlist='+decodeURIComponent(FSID)+'&type=dlink&channel=chunlei&web=1&app_id='+APPID+'&bdstoken='+_MYBDSTOKEN;
$.get(xBDLink2,function(data){
console.log('' + FNAME + ' 的下載地址為:');
console.log('%c%s','color:#00ff00;background-color:#000000;',data.dlink['0'].dlink);
});
}
// 文件夾下載
function getLink2(SIGN,FSID){
xBDLink2 = 'https://pan.baidu.com/api/download?sign='+SIGN+'×tamp='+_timestamp+'&fidlist='+decodeURIComponent(FSID)+'&type=batch&channel=chunlei&web=1&app_id='+APPID+'&bdstoken='+_MYBDSTOKEN;
$.get(xBDLink2,function(data){
console.log('' + FNAME + ' 的下載地址為:');
console.log('%c%s','color:#00ff00;background-color:#000000;',data.dlink);
});
}
// 進入文件夾裡面把所有文件打包下載
function getLink3(SIGN,FSIDS){
xBDLink3 = 'https://pan.baidu.com/api/download?sign='+SIGN+'×tamp='+_timestamp+'&fidlist='+decodeURIComponent(FSIDS)+'&type=batch&channel=chunlei&web=1&app_id='+APPID+'&bdstoken='+_MYBDSTOKEN;
$.get(xBDLink3,function(data){
console.log('列表打包下載地址為:(不包含文件夾)');
console.log('%c%s','color:#00ff00;background-color:#000000;',data.dlink);
});
}
// 下載單個文件;
function downOneFile(fileName){
getWhich(fileName);
getFileID(cNum);
getLink1(SIGN,FSID);
}
// 下載一個文件夾
function downOneFileBox(fileName){
getWhich(fileName);
getFileID(cNum);
getLink2(SIGN,FSID);
}
// 下載列表打包 不包含文件夾
function downFilelist(){
getListID();
getLink3(SIGN,FSIDS);
}
// 使用說明 就2步 換APPID(在最上面) 複製全部JS代碼 到 控制臺中 然後調用 3種 函數 結果 是可以直接看到下載地址的 直接點擊下載就可以了
// 如果有朋友遇到無法下載 可以刷新下頁面試試 如果還不行 可以把提示的信息 給我留言
// 第一步:把最上面的APPID 換成自己的 每個賬號有一個對應的app_id
// 火狐或者谷歌瀏覽器 新建一個標簽頁 先打開控制台 一般是 F12 然後登錄自己的百度網盤 點擊網路標簽 Ctrl + F 搜索 app_id 很多請求都有的 後面的數字就是APPID
// 第二步:接下來 就可以按照以下三種方式 來下載你要的文件了
// 文件名稱獲取:滑鼠右鍵某一個文件名 重命名 然後 Ctrl+a 全選 就可以拿到文件名了 如果是文件的話 一定是要帶 尾碼名的 整個文件名 如 aaa.mp4 等等
// 1.除了文件夾之外的單個文件下載 文件名+尾碼名 下載哪個文件就改成哪個文件的名字(包含尾碼名)例如 downOneFile('abc.mp4') 單引號必須帶著
// downOneFile('某一個文件名稱.尾碼名');
// 2.下載某一個文件夾 例如 '大學英語六級課程' 單引號必須帶著
// 如果文件夾裡面還有文件夾 就進入文件夾 調用 downFilelist() 進行列表打包下載 例如 downOneFileBox('大學英語六級課程')
// downOneFileBox('某一個文件夾名稱');
// 3.進入文件夾裡面把所有文件打包下載 下載文件夾的話 最好使用這種方式
// 如果文件夾裡面還有文件夾的話 列表打包 是不包含文件夾的 直接調用 downFilelist() 函數即可 不用傳任何參數
// downFilelist();
複製結束
先修改自己的APPID
複製紅色文字裡面的所有 js 到火狐 或者 谷歌控制台 選擇3種下載方式中的一種即可
如果遇到報錯 試試以下幾種方法 :
1、清除緩存強制刷新頁面
2、看看 console.log(111) 能否正常列印 如果不能的話 就新建標簽頁 打開百度盤
3、關閉瀏覽器 清除緩存 打開瀏覽器 打開百度盤
如果以上方式都不能正常下載 可以給我留言
再次強調 以上內容僅供交流學習