这 **不是** 使用OAuth认证授权的百度网盘API。
先上github,
https://github.com/Yangff/node_pcsapi 。
首先这是个坑爹玩意(我自己这么认为的),之所以这么说是因为我被jugglingdb 这奇葩玩意恶心到了。如果要用的话,我想你只需要pcsapi.js和baiduapi.js的内容就行了,一看就懂很容易的……
然后来说说API,因为手中条件有限,所有所有的API都是针对
http://pan.baidu.com结合开发者的PCS api手册分析得到的(因为他们的接口几乎一样……)
直接使用百度的API,需要用到baidu的cookie(不要session……真神奇)。然后根据相关的RestfulAPI直接请求就行了。API列表可以抓包,
或者在源代码里面搜索RestfulAPI.XXX,XXX可以在源代码里面找,或者直接看这个https://
github.com/Yangff/node_pcsapi/blob/master/apilist.txt删除有点问题,因为删除用到了一个Token,这个Token似乎是直接塞在pan.baidu.com下一个script标签里面的……
主要写的还是baidu登录的验证……那个比较蛋疼,登录的相关流程我写在这里了:
https://github.com/Yangff/node_pcsapi/blob/master/baidulogin.md最后写完发现我特么应该针对手机客户端抓包的……
最后,最后,请允许我黑jugglingdb ,jugglingdb-mysql 和 requestify,这也是我为什么没有直接打包成package的原因之一,另一个原因是我根本不会(雾)。请不要尝试更换这三个东西……代码我都改过,原版的都有问题,我也懒得去gituhb上提了,都是泪。这也是我为什么说最好不要管除了pcsapi.js和baiduapi.js以外的文件……另一方面我相信我的代码风格会严重破坏你现有的代码可维护性。
另外说一句,百度可能会要求你输入验证码,所以我在baiduapi里面塞了一个http。
使用的时候需要baiduapi.start(port),如果出现验证码要求,访问这个地址:port,点击验证码输入……
不过也因此,如果出现异常程序不会自动退出……如果卡太久大概是异常了……
还有一个问题想要问一下,
JSON.parse的时候Failed parsing expected JSON response, returned raw response
然后我输出来看,似乎是百度在返回的时候把“"”写成“'”了,但是我替换之后,实际上JSON确实成功转变成对象了……可是还报这个错,但是不影响登录结果,Cookie也能取到……这是为啥。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/82687
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.