nqawen 发表于 2014-8-27 11:30:29

如何得到百度网盘分享文件的真实下载地址?

本帖最后由 nqawen 于 2014-8-27 11:35 编辑

请教高手了,如何得到百度网盘分享文件的真实下载地址呢?
请高手们给出具体代码

nmgwddj 发表于 2014-8-28 09:40:18


看网上是有工具并且验证好用的,证明是有方法可以实现的。但是没怎么研究过。

austere 发表于 2014-8-28 12:06:48

自己搜索论坛有源码的·

nqawen 发表于 2014-8-28 12:58:47

回复 2# nmgwddj


对,网有这样的工具,但不知道是怎么实现 的

nqawen 发表于 2014-8-28 12:59:08

回复 3# austere


    论坛的源码已经失效了

马甲 发表于 2014-8-28 15:38:37

本帖最后由 马甲 于 2014-8-28 15:44 编辑

有点兴趣,就研究了一下。不过我还是不知道获取此地址有什么用?

以下是我抓包测试得出的答案:
首先获取分享页的网页源码和Cookies,用以下正则提取网页源码内的5个数据:
(?i)FileUtils.share_uk="(.*?)"
(?i)FileUtils.share_id="(.*?)"
(?i)ViewShareUtils.timestamp="(.*?)"
(?i)ViewShareUtils.sign="(.*?)"
(?i)ViewShareUtils.fsId="(.*?)"

假如返回的5个变量名为:$share_uk, $share_id, $timestamp, $sign, $fid_list
组合出新的网址:
'http://pan.baidu.com/share/download?channel=chunlei&clienttype=0&web=1&uk=' & _
                        $share_uk & '&shareid=' & $share_id & '&timestamp=' & $timestamp & '&sign=' & $sign & '&ct=pcygj&cv=4.6.2.0&bdstoken=null'

向这个网址POST数据(记得附带上面获取到的Cookies):
fid_list=%5B' & $fid_list & '%5D

即可返回一组JSON数据
errno=0 则成功返回真实地址
errno=-19 则需要输入验证码,内有验证码信息。

nmgwddj 发表于 2014-8-28 17:55:13

马甲忽然冒出来了。

nqawen 发表于 2014-8-30 07:20:53

回复 6# 马甲

谢谢啊, 我试试哦

header 发表于 2014-9-2 10:40:01

超版威武啊

wangms 发表于 2014-9-9 20:22:09

学习学习、、、、、、、、、、、、、、
页: [1]
查看完整版本: 如何得到百度网盘分享文件的真实下载地址?