币安聊天室红包搜刮脚本
source link: https://www.liesauer.net/blog/post/binance-red-envelope-scavenger.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
bncuuid
csrftoken
device-info
fvideo-id
useragent
Cookie
lang
(固定为zh-CN
)d1og
r2o1
f30l
p20t
聊天室接口
连接聊天室获取聊天信息有两种方法,各有优缺点,本文采用Web API
的方式。
Websocket
- 不需要大量请求,避免频繁限制。
- 需要长连接,对于大部分脚本环境都不太适用。
- 连接良好的情况下也会偶尔丢一两条信息(未知原因)。
- 内容需要解码,解码模块得逆向JS抠出来。
Web API
- 获取数据简单方便,无编码加密。
- 可能会触发请求限制,需要严格控制请求频率。
请求方式:POST
请求地址:https://www.binance.com/bapi/futures/v1/private/future/chatroom/get-user-dialog-list
请求数据:无
返回内容:
我们只需要关注其中的channelId
即可。
聊天室信息接口
请求方式:POST
请求地址:https://www.binance.com/bapi/futures/v1/private/future/chatroom/get-chat-msg-page
请求数据:
{
"channelId": 频道ID,
"sequence": null,
"size": 信息数量
}
返回内容:
筛选红包信息
msgType
为SEND_RED_ENVELOPE
是发红包的信息msgType
为GRAB_RED_ENVELOPE
是领红包的信息
其他信息全都忽略就行
SEND_RED_ENVELOPE
的msgPayload
如下:
{
"note": "1",
"amount": "0.05000000",
"grabCode": "红包码",
"expireTime": "1690766128593",
"orderId": "",
"currency": "COS",
"received": false,
"totalCount": 1
}
GRAB_RED_ENVELOPE
的msgPayload
如下:
{
"grabCode": "红包码",
"ownerChatUid": "",
"orderId": "",
"ownerNickname": "",
"sendRedEnvelopeSeq": ""
}
均只需要关注grabCode
。
查询红包状态
请求方式:POST
请求地址:https://www.binance.com/bapi/pay/v1/private/binance-pay/gift-box/code/query
请求数据:
{
"grabCode": "红包码",
"channel": "DEFAULT"
}
返回内容:
红包状态:success
为false
,红包不可领(比如过期、领完了等等),具体信息看message
data.grabbed
为true
,表示已经领取过了
否则就是可领取状态
请求方式:POST
请求地址:https://www.binance.com/bapi/pay/v1/private/binance-pay/gift-box/code/grabV2
请求数据:
{
"grabCode": "红包码",
"channel": "DEFAULT",
"scene": null
}
返回内容:
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK