对百度网盘批量转存的研究
前段时间想转存一些音乐,但是百度上转存工具没一个是能用的,于是萌生了自己写一个的念头。。(纯属闲着没事干
随便找了个资源
http://pan.baidu.com/share/link?shareid=140645&uk=1948590995
目测手机版应该更好研究,在手机上尝试了关闭javascript的支持,发现转存按钮无法点击,开启javascript时转存时未出现页面刷新,目测是基于ajax的转存。。
我们将网址改成
将自己的百度账号登录
按下F12,在这里我用的的firefox。
在控制台标签,只选择网络
将下拉菜单中的记录请求和响应主机勾选
这下可以点击保存到百度云按钮了
这时发现多了几条请求
那个analytics是统计,不管他,点击transfer那条
有了抓包结果就好办多了。我使用了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"],是否在源码里?
我是多么的笨啊啊啊啊啊啊,居然去翻那几千行的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数据:
|
|
至于批量,那应该是更简单的事情了。。自行发挥吧。。
菜鸟没事闹着玩,大神灰过。。
如果有错欢迎指教喵