獲取百度網盤大小文件真實下載地址(繞過網盤客戶端)

来源:https://www.cnblogs.com/qixiaodui/archive/2018/01/29/8379616.html
-Advertisement-
Play Games

說明:此文章僅供學習交流使用 如有侵權 立刻刪除! 複製開始 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+'&timestamp='+_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+'&timestamp='+_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+'&timestamp='+_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、關閉瀏覽器 清除緩存 打開瀏覽器 打開百度盤

如果以上方式都不能正常下載 可以給我留言

再次強調 以上內容僅供交流學習 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 看到很多小程式里,點客服,提示關註公眾號,比如製作器里這個功能,能夠自動引導關註公眾號,圖文體驗非常好,研究了小程式客服介面後,我們就自己把它做成一個工具了,方便小程式的運營人員。芝麻小客服 體驗傳送門 http://xiaokefu.hotapp.cn 特點: (1)不需要開發,只需要在微信的小程 ...
  • [1]組件名稱 [2]組件相關 [3]prop [4]指令及特性 [5]屬性 [6]謹慎使用 ...
  • 全選: 這裡是用JS實現的:http://www.cnblogs.com/xuyiqing/p/8378221.html 如果使用jQuery則會方便很多: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>全選和全不選</tit ...
  • 三位數的百位,十位,個位從大到小進行互相交換代碼,JS代碼如下。 ...
  • 在家裡,不去自習,效率比之前在學校圖書館差太多了。。。 自己特別容易分神,而且不是很想學習,不是很想寫代碼。真的很惱火,為什麼大學里把高中三年養成的那麼好的自律給丟掉了,現在走神變得相當頻繁,也靜不下心來寫東西,真是,哎,不多說了,剩下的就寫進日記里吧,畢竟這裡是談技術的地方。 在8點半左右完成了h ...
  • 這裡是用JS實現的:http://www.cnblogs.com/xuyiqing/p/8376312.html 接下來利用上一篇提到的選擇器利用jQuery實現: 發現原來多行代碼這裡只需要兩行: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...
  • 通過jquery如何捕獲文本內容和屬性? text(),html(),val()及attr()。 attr()更具有普遍性,元素text屬性和表單value屬性,可以通過attr()操作。 ...
  • 1:事件驅動 1)事件:所謂事件就是js偵測到的用戶的操作或是頁面的一些行為(怎麼發生的) 2)事件源對象:引發事件的元素。(發生在誰的身上) 3)事件處理程式:對事件處理的程式或是函數 (發生了什麼事) 4)事件對象:當事件發生的時候,具體發生了哪些信息,(當按鍵盤的時候按的哪個鍵或者滑鼠游標在頁 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...