吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7543|回复: 13
收起左侧

[其他转载] php登陆状态百度网盘获取文件下载链接【思路|部分代码】

  [复制链接]
芊雨千寻 发表于 2017-6-30 16:15
本帖最后由 芊雨千寻 于 2017-7-2 10:55 编辑

不提供分享后的解析思路,其实很简单的但是访问多了老出验证码很尴尬。。。。。php登陆百度云很麻烦的,但是通过浏览器复制下来百度的登陆状态cookies好像很久都不过期的。【这块一笔略过!!!】
我先直接贴出来下载连接的构成部分
http://pan.baidu.com/api/download?sign=oxlEasNaH2DxAmRKDFPD9lYp%2BW%2F2aGyCJRDi2MRR6C8zHpOlK3%2FW0g%3D%3D&timestamp=1498807871&fidlist=%5B285896498311340%5D&type=dlink&channel=chunlei&web=1&app_id=250528&bdstoken=d6a70723cb4107b9ee077f4c54c04a13&logid=MTQ5ODgwODAwNDY4NTAuODE1NzI4MTEzNzExMzA5Nw==&clienttype=0
登陆状态下去掉多余参数的下载链接:
http://pan.baidu.com/api/download?sign=oxlEasNaH2DxAmRKDFPD9lYp%2BW%2F2aGyCJRDi2MRR6C8zHpOlK3%2FW0g%3D%3Dtimestamp=1498807871&fidlist=%5B285896498311340%5D
参数说明:
QQ截图20170630155242.jpg
可有可无的参数
&type=dlink  参数固定
&channel=chunlei  参数固定
&web=1  参数固定
&app_id=250528  参数固定
&bdstoken=d6a70723cb4107b9ee077f4c54c04a13  登陆状态值如果使用curl自带cookies就可以不需要此参数了,
&logid=MTQ5ODgwODAwNDY4NTAuODE1NzI4MTEzNzExMzA5Nw==  参数可有可无 base64解码后 是“当前时间戳”和0到1之间的随机小数
&clienttype=0  参数固定
主要参数:
timestamp=登陆时间 和 sign=
timestamp= 在pan.baidu.com/disk/home#list/path=%2F&vmode=list 就可以获取到
sign  是bdstoken和sign1参数通过sign2执行出来的 看下面截图
QQ截图20170630155750.jpg
&fidlist= 文件ID
通过以下链接获取的文件ID,把多余的参数去掉了,登陆状态是可以忽略的,获取制定目录下面的,文件和文件夹,来获取你想下载文件的文件ID
http://pan.baidu.com/api/list?dir=%2F&num=100&order=time&desc=1&clienttype=0&showempty=0&page=1
dir=  当前目录
&num= 调用数量
&order=排序时间
&desc=1倒序
&clienttype=0  不知道啥参数
&page=1 第几页

下面是重点php生成参数 sign 的方法

timestamp   bdstoken  sign1 都是是在pan.baidu.com/disk/home#list/path=%2F&vmode=list获取的到
实在是弄不好这个代码功能的呀 我还是上传附件吧 下面代码需要网上找“php代码格式化”工具格式化一下
pan.baidu.com-a.rar (610 Bytes, 下载次数: 30)

<?php
function s($j,$r){
$a = array(); $p = array();
$o = ""; $v=strlen($j); $j = str_split($j,1); function charCodeAt($str){
$ret = mb_convert_encoding($str, 'UTF-32BE', 'UTF-8');
return hexdec(bin2hex($ret)); } function fromCharCode($codes) {
if (is_scalar($codes))$codes= func_get_args();
$str= ''; foreach ($codes as $code)$str.= chr($code); return$str;
}
for($q=0;$q<256;$q++){ $a[$q]=charCodeAt($j[$q%$v]);
$p[$q]=$q; } for($u=$q=0;$q<256;$q++){ $u=($u+$p[$q]+$a[$q])%256; $t=$p[$q];
$p[$q]=$p[$u];
$p[$u]=$t; } for($i=$u=$q=0;$q&lt;strlen($r);$q++){ $i=($i+1)%256; $u=($u+$p[$i])%256; $t=$p[$i];
$p[$i]=$p[$u];
$p[$u]=$t; $k=$p[(($p[$i]+$p[$u])%256)]; $r2 = str_split($r,1); $o.=fromCharCode(charCodeAt($r2[$q])^$k); } return base64_encode($o);
}
echo s('bdstoken参数','sign参数');

免费评分

参与人数 3吾爱币 +2 热心值 +2 收起 理由
sosobdl + 1 + 1 热心回复!
0001 + 1 我很赞同!
1455018613 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 芊雨千寻 发表于 2017-8-12 12:00
sosobdl 发表于 2017-8-7 12:09
我用楼主的方法搞出来的下载地址一直都是报错啊,{"errno":-6,"request_id":5067778083454698382} 看不懂这 ...

"-6":"请重新登录"  我这个只是算法 百度登陆很麻烦 不过你可以通过浏览器 把登陆cookis复制下来 百度这个状态 好像永久不过期
sosobdl 发表于 2017-8-12 18:23
芊雨千寻 发表于 2017-8-12 12:00
"-6":"请重新登录"  我这个只是算法 百度登陆很麻烦 不过你可以通过浏览器 把登陆cookis复制下来 百度这 ...

我就是存了cookie,可能是因为其他地方用这个账号导致cookie失效了。现在已经可以了。
heoo 发表于 2017-6-30 16:23
另类飞翔 发表于 2017-6-30 16:25
厉害了 十分感谢分享
 楼主| 芊雨千寻 发表于 2017-6-30 16:28
heoo 发表于 2017-6-30 16:23
老哥,你分析出来了吗

不是很难 主要sign  参数 其余的在页面中都能获取到
ningzhonghui 发表于 2017-6-30 16:51
这个必须支持,先收下学习先
 楼主| 芊雨千寻 发表于 2017-7-1 12:25
居然没人看这个,用了这个下载网站和视频网站就可以存在网盘里面解析出来加载了
xuanxingkong 发表于 2017-7-2 17:12
关键时看不懂啊
木鱼啊 发表于 2017-7-4 10:24
老哥, 这个sign的算法是怎么得到的, 我看了半天百度云盘登录和sign方法,都没搞明白这个算法是怎么得到的。。
 楼主| 芊雨千寻 发表于 2017-7-6 14:27
木鱼啊 发表于 2017-7-4 10:24
老哥, 这个sign的算法是怎么得到的, 我看了半天百度云盘登录和sign方法,都没搞明白这个算法是怎么得到的 ...

sign值是 bdstoken和sign1参数   通过sign2代码执行出来的  你看我上面的截图放大
cracker_decoder 发表于 2017-7-11 07:01
百度cookie过期了,不绑定手机号登陆不了了,有办法破吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-30 10:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表