【原创内容】获取百度网盘大小文件真实下载地址 …
2018-06-24 01:27:31来源:未知 阅读 ()
说明:本文章仅供学习交流使用 如有侵权 立刻删除
【原创内容】转载请注明出处!
注:
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+'×tamp='+_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+'×tamp='+_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+'×tamp='+_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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- javascript如何获取图片颜色 2020-03-08
- 分享JavaScript获取网页关闭与取消关闭的事件 2020-02-29
- 高效的获取当前元素是父元素的第几个子元素 2020-02-15
- JS怎么获取父节点 2020-02-14
- JS获取当前地理位置的方法 2020-01-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash