champkeh / blive-ws

B站直播间 WebSocket 代理服务,可用于实时获取直播间弹幕 (非官方SDK,无需鉴权等繁琐操作)
https://blive.deno.dev
MIT License
74 stars 21 forks source link

可以从环境变量读取Cookie吗? #15

Open slinar opened 1 year ago

slinar commented 1 year ago

B站未登录的用户连接到弹幕服务器接收到的弹幕无法显示用户名

大概解决方法:

  1. Get请求(带上Cookie) https://api.bilibili.com/x/web-interface/nav 获取uid
  2. Get请求(带上Cookie) https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo 获取token
  3. wss连接弹幕服务器Auth阶段传入第一步获取到的uid = uid,传入第二步获取到的key = token
champkeh commented 1 year ago

目前这个代理服务在认证阶段会固定传一个uid,如下

https://github.com/champkeh/blive-ws/blob/39bc16766e727ef9491b07105225ddba5ffb6ece/src/deno/const.ts#L345-L348

所以,使用这个在线代理服务应该是不会出现用户名无法显示的问题的。

haoqing77 commented 1 year ago

基本上请求的时候传入cookie,就可以持续获取未加密的弹幕啦!!亲测10天有效!!