Open sparanoid opened 1 year ago
似乎是因为portover=3?
观察了一段时间,WS 连接超过一段时间后(大概 5 分钟,但这个似乎是灰度,有时候未登录状态下很长时间也还是正常的)会出现如下事件,之后的用户名开始打码:
{
"cmd": "LOG_IN_NOTICE",
"data": {
"notice_msg": "为保护用户隐私,未注册登陆用户将无法查看他人昵称",
"image_web": "http://i0.hdslb.com/bfs/dm/75e7c16b99208df259fe0a93354fd3440cbab412.png",
"image_app": ""
}
}
目前观测下来,完整的构建建立连接的请求可以进行规避,即:额外传入 uid
、buvid
、key
即可绕过限制。另外现在官方已经不传 clientver
字段了
buvid
:可通过 https://data.bilibili.com/v/
的 set-cookie
头获取,目前 buvid2
与 buvid3
是一样的key
:可通过 https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo?id=${room_id}
获取但是由于以上两个请求都有 CORS,因此不适用于 client-side 应用,加上最近哔哩哔哩频繁对验证进行改动,可以考虑支持传入任意对象(或者直接用 authBody
?),这样可以通过第三方渠道来获取这些字段,也更方便日后扩展
额外传入
uid
、buvid
、key
这个后续会跟进嘛
目前来说就直接传入一个authBody罢(还好之前留了这个参数
@simon300000 authBody
理论上也需要用 encoder
做一次编码才可以?目前是没有这么做的:
哦确实,这样不太好用
@CottnCor 从代码逻辑来看是需要的,另外根据 https://github.com/xfgryujk/blivedm/pull/29 的描述,目前似乎只额外传入 uid
就可以了
刚刚移除了 clientver,加入了 uid 和 buvid 的选项,typeof autoBody === object
的 autoBody 会被 encode 再发出去,应该不会影响开放平台🤔
bilibili-live-ws@6.3.0
https://github.com/xfgryujk/blivechat/pull/114
似乎可用的方法又增加了
似乎可用的方法又增加了
这个 blivechat 作者试过,给我回复了似乎 key 和 ip 绑定,只能本地用,目前直接在 Auth 时填 uid 就有效
问个问题,https://github.com/simon300000/bilibili-live-ws#class-livews--livetcp--keeplivews--keeplivetcp 创建实例的时候有没有可以pass cookie的地方(具体我不清楚需要哪个cookie)?我觉得有一个方式直接pass cookie会比较方便点?
问个问题,https://github.com/simon300000/bilibili-live-ws#class-livews--livetcp--keeplivews--keeplivetcp 创建实例的时候有没有可以pass cookie的地方(具体我不清楚需要哪个cookie)?我觉得有一个方式直接pass cookie会比较方便点?
目前可以自己用api通过http拿token/key然后填key,uid,buvid
我记得只需要这三个
有个uid的问题想问一下:
最近b站开始对弹幕用户名进行随机打码,打码后 UID 返回为 0:
目前观察下来这个功能是灰度的,不是每次都会出现这个情况,有时候主播的弹幕机刷新一下就正常了,但过一会所有
DANMU_MSG
事件又会被打码。~具体触发条件未知~