【原创内容】获取百度网盘大小文件真实下载地址 …

2018-06-24 01:27:31来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

说明:本文章仅供学习交流使用 如有侵权 立刻删除 

【原创内容】转载请注明出处!

注:

1 文件夹暂时不支持直接下载,可以进入文件夹,调用列表打包函数进行下载   downFilelist()  无任何参数

2 必须先进入自己的网盘 再下载   如果是别人的 要先保存到自己的网盘 再进行下载

代码开始

var s5 = ''+yunData.sign5;
var s1 = ''+yunData.sign1;
var t1 = s(s5,s1);
var SIGN = base64Encode(t1);
SIGN = encodeURIComponent(SIGN);

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 _timestamp = yunData.timestamp;
var xFilePath = '';
if($(".lpq5dAp:first").html() == "我的卡包"){
    xFilePath = '%2F';
}else{
    xFilePath = decodeURI(location.href.match(/\=%2F(.){1,}/i)[0].slice(1));
}
var xBDLink1 = 'https://pan.baidu.com/api/list?dir='+xFilePath;
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 = encodeURI(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 = encodeURI(FSIDS);
    });
}
// 单个文件下载
function getLink1(SIGN,FSID){
    xBDLink2 = 'https://pan.baidu.com/api/download?sign='+SIGN+'&timestamp='+_timestamp+'&fidlist='+decodeURI(FSID)+'&type=dlink';
    $.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='+decodeURI(FSID)+'&type=batch';
    $.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='+decodeURI(FSIDS)+'&type=batch';
    $.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);
}

// 用火狐浏览器

//文件名称获取方法  鼠标右键某一个文件 重命名  然后全选


// 1.除了文件夹之外的单个文件下载       文件名+后缀名   例:  downOneFile('abc.mp4')   单引号必须带着
// downOneFile('某一个文件名称.后缀名');

// 2.下载某一个文件夹   例:downOneFileBox('大学英语四六级')      单引号必须带着
// 如果文件夹里面还有文件夹    就进入文件夹 调用  downFilelist()   进行列表打包下载    例:  downOneFileBox('大学英语六级课程')
// downOneFileBox('某一个文件夹名称');

// 3.进入文件夹里面把所有文件打包下载       下载文件夹的话 最好使用这种方式
// 注:打包下载  是不包含文件夹的
// downFilelist();

代码结束

 

用火狐浏览器

打开你要下载的视频页面  等页面加载完成 然后打开控制台 F12 控制台

复制代码开始到代码结束里面的所有内容 到控制台  选择3种下载方式中的一种即可 

去掉 downXXX() 前面的 '//'  直接回车 即可看到下载地址     不用的记得把前面的 '//' 加上

 

**如果觉得下载慢的话  可以配合 IDM  接近满速下载**   

链接: https://pan.baidu.com/s/1qZ971c4 密码: 8mpv

 

如果遇到报错  试试以下几种方法 :

1、清除缓存强制刷新页面

2、看看 console.log(111) 能否正常打印  如果不能的话 就新建标签页 打开百度盘

3、关闭浏览器 清除缓存 打开浏览器 打开百度盘

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

再次强调 以上内容仅供交流学习 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:移动端网页使用flexible.js加入百度联盟广告样式不一致问题解决

下一篇:价格计算