对百度网盘批量转存的研究

前段时间想转存一些音乐,但是百度上转存工具没一个是能用的,于是萌生了自己写一个的念头。。(纯属闲着没事干,喵的我要提高成绩啊啊啊啊啊啊啊啊啊啊

随便找了个资源

http://pan.baidu.com/share/link?shareid=140645&uk=1948590995

目测手机版应该更好研究,在手机上尝试了关闭javascript的支持,发现转存按钮无法点击,开启javascript时转存时未出现页面刷新,目测是基于ajax的转存。。

我们将网址改成

http://pan.baidu.com/wap/link?shareid=140645&uk=1948590995

将自己的百度账号登录

按下F12,在这里我用的的firefox。

在控制台标签,只选择网络

pan(1)

将下拉菜单中的记录请求和响应主机勾选

pan(2)

这下可以点击保存到百度云按钮了

这时发现多了几条请求

pan(3)

那个analytics是统计,不管他,点击transfer那条

pan(4)

pan(5)

有了抓包结果就好办多了。我使用了Snoopy类构造(项目地址 http://sourceforge.net/projects/snoopy/?source=directory

 
返回

{“errno”:0,”task_id”:0,”info”:[{“path”:”\/\u6211\u7684\u6587\u6863\/Hotel California-The Eagles.rar”,”errno”:0}]}

这就和之前结果一样啦~~~

转存成功,但是$postdata[‘filelist’]='[“/我的文档/Hotel California-The Eagles.rar”]’; 是如何得到的,我甚至去阅读了几千行的js: http://pan.baidu.com/wapres/static/js/viewsingle_all.js

始终找不到[“/我的文档/Hotel California-The Eagles.rar”],是否在源码里?

pan(6)

 

我是多么的笨啊啊啊啊啊啊,居然去翻那几千行的js看得那一脸泪。。

到了这里,大部分问题都解决了,也研究完了。

总结

提交URL:http://pan.baidu.com/share/transfer?from=UK号&shareid=shareid号&bdstoken=bdstoken(没有的话无法执行)&channel=chunlei&clienttype=5&web=1

提交COOKIES:BDUSS。。BDUSS的获取自行百度吧。。但是bdstoken的获取也在网页源码里ctrl+f搜索bdstoken就可以了。。

POST数据

path=/
async=1
r=随机小数
filelis=[“/我的文档/Hotel California-The Eagles.rar”]     //这个可以在文件页面找到

至于批量,那应该是更简单的事情了。。自行发挥吧。。

菜鸟没事闹着玩,大神灰过。。

如果有错欢迎指教喵

对百度网盘批量转存的研究》上有1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注