Closed HashLiver closed 3 years ago
以前只需Cookie参数SESSDATA就行了,但现在就会返回code 412。 例如curl -s "https://api.bilibili.com/x/player/playurl?avid=170001&cid=279786&qn=80&fnval=0&fourk=1" -b "SESSDATA=xxxxxx"会返回:
SESSDATA
curl -s "https://api.bilibili.com/x/player/playurl?avid=170001&cid=279786&qn=80&fnval=0&fourk=1" -b "SESSDATA=xxxxxx"
{ "code": -412, "message": "请求被拦截", "ttl": 1, "data": null }
尝试加上api.bilibili.com的Cookie参数bfe_id,问题就解决了: curl -s "https://api.bilibili.com/x/player/playurl?avid=170001&cid=279786&qn=80&fnval=0&fourk=1" -b "SESSDATA=xxxxxx;bfe_id=xxxxxx"
api.bilibili.com
bfe_id
curl -s "https://api.bilibili.com/x/player/playurl?avid=170001&cid=279786&qn=80&fnval=0&fourk=1" -b "SESSDATA=xxxxxx;bfe_id=xxxxxx"
不知道还有没有其它更好的办法。
https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/video/videostream_url.md#%E8%A7%86%E9%A2%91%E6%B5%81url
> 80 1080P 高清(登录)
很明显需要登录才能获取 换低分辨率或省略(32(480P))
@duzhaokun123 看清楚主楼,SESSDATA就是登录用的Cookie。
bfe_id是什么, 哪来的
貌似今天又恢复正常了,我记得我也没对API频繁请求过(可能这个月都还没50次),B站这一套风控系统很迷。
以前只需Cookie参数
SESSDATA
就行了,但现在就会返回code 412。 例如curl -s "https://api.bilibili.com/x/player/playurl?avid=170001&cid=279786&qn=80&fnval=0&fourk=1" -b "SESSDATA=xxxxxx"
会返回:尝试加上
api.bilibili.com
的Cookie参数bfe_id
,问题就解决了:curl -s "https://api.bilibili.com/x/player/playurl?avid=170001&cid=279786&qn=80&fnval=0&fourk=1" -b "SESSDATA=xxxxxx;bfe_id=xxxxxx"
不知道还有没有其它更好的办法。