Bili live 直播弹幕Webscoket 协议分析(1)
打开任意一个直播间,使用charles进行抓包
发现报文内容
将发送的第一条报文,复制到010editor中
可以发现,内容为一条json,
但不是完全的json,还有一些看不懂的头
分析多条报文之后,发现规律如下
00 00 00 59 此处为报文字节长度 0x59 = 89
00 10 此处为报文头部长度 0x10 = 16
00 01 此处可能为版本号
00 00 00 07 此处为操作符
分析后面的心跳报文
心跳报文内容相同
只有与 连接时候的报文中的 00 00 00 07 变化为 00 00 00 02了
使用010editor分析
内容为 [object Object]
仿照此条报文发送即可
分析传回的报文
报文中与发送时的协议信息一致,后方跟这一串json 数据,其中中文部分使用UTF-8编码了
使用报文中的CMD值,分析归类了一下
大概有如下几种json
SEND_GIFT
DANMU_MSG
WELCOME
接下来直接分析json 就可以完成弹幕抓取了.