bilibili-API-collect
bilibili-API-collect copied to clipboard
通过cookie获得app端access_key
cookie携带 SESSDATA, DedeUserID(值与uid一致) GET https://passport.bilibili.com/login/app/third?appkey=27eb53fc9058f8c3&api=http://link.acg.tv/forum.php&sign=67ec798004373253d60114caaad89a8c
此处sign计算方式不同于app的计算方式
sign=md5("api=http://link.acg.tv/forum.php"+"c2ed53a74eeefe3cf99fbd01d8c9c375")
curl 'https://passport.bilibili.com/login/app/third?appkey=27eb53fc9058f8c3&api=http://link.acg.tv/forum.php&sign=67ec798004373253d60114caaad89a8c'
-H 'cookie: SESSDATA=***; DedeUserID=***'
响应
{
"code": 0,
"status": true,
"ts": 1655265600,
"data": {
"api_host": "www.mcbbs.net",
"has_login": 1,
"direct_login": 0,
"user_info": {"mid": "***", "uname": "***", "face": "***"},
"confirm_uri": "https://passport.bilibili.com/login/appSuccess?api=http%3A%2F%2Flink.acg.tv%2Fforum.php&appkey=***&sign=***&mhash=***&confirm=1"
}
}
GET "data" > "confirm_uri": https://passport.bilibili.com/login/appSuccess?api=http%3A%2F%2Flink.acg.tv%2Fforum.php&appkey=&sign=&mhash=***&confirm=1
curl -I 'https://passport.bilibili.com/login/appSuccess?api=http%3A%2F%2Flink.acg.tv%2Fforum.php&appkey=***&sign=***&mhash=***&confirm=1'
-H 'cookie: SESSDATA=***; DedeUserID=***'
响应302
HTTP/1.1 302 Found
Location: http://link.acg.tv/forum.php?access_key=***&mid=***&uname=***&sign=***
...
重定向的param的access_key就是app端access_key
好用,点赞
用这个方法转出来的access_key好像在一些较新的接口上会出现-663错误, app抓的access_key则不会 其实是appkey与appsec被限制了, 必须要生成时所用的appkey, appsec
{"code":-663,"message":"-663","ttl":1}
试了下,返回了这样的响应
{"code":0,"status":true,"ts":1688046732,"data":{"api_host":"link.acg.tv","has_login":0}}
试了下,返回了这样的响应
{"code":0,"status":true,"ts":1688046732,"data":{"api_host":"link.acg.tv","has_login":0}}
就是获取 confirm_uri 这一步,似乎不返回了
现在这个方法会回复: 该版本已不支持当前功能,请升级新版本! 是不是这个api已经被b站关闭了?
该版本已不支持当前功能,请升级新版本!
应该是的
嗯,这就比较难受了。access_key还有其他的办法获取吗?
嗯,这就比较难受了。access_key还有其他的办法获取吗?
老老实实模拟客户端登陆呗, 还能咋办.
接口已失效
{"code":20000,"message":"该版本已不支持当前功能,请升级新版本!"}