8

币安聊天室红包搜刮脚本

 1 year ago
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.
neoserver,ios ssh client
  1. bncuuid
  2. csrftoken
  3. device-info
  4. fvideo-id
  5. useragent

Cookie

  1. lang(固定为zh-CN
  2. d1og r2o1 f30l p20t

聊天室接口

连接聊天室获取聊天信息有两种方法,各有优缺点,本文采用Web API的方式。

Websocket

  1. 不需要大量请求,避免频繁限制。
  1. 需要长连接,对于大部分脚本环境都不太适用。
  2. 连接良好的情况下也会偶尔丢一两条信息(未知原因)。
  3. 内容需要解码,解码模块得逆向JS抠出来。

Web API

  1. 获取数据简单方便,无编码加密。
  1. 可能会触发请求限制,需要严格控制请求频率。

请求方式:POST
请求地址:
https://www.binance.com/bapi/futures/v1/private/future/chatroom/get-user-dialog-list
请求数据:无
返回内容:

20230805214104.png

我们只需要关注其中的channelId即可。

聊天室信息接口

请求方式:POST
请求地址:
https://www.binance.com/bapi/futures/v1/private/future/chatroom/get-chat-msg-page
请求数据:



  1. {
  2. "channelId": 频道ID,
  3. "sequence": null,
  4. "size": 信息数量
  5. }

返回内容:

20230805214737.png

筛选红包信息

msgTypeSEND_RED_ENVELOPE是发红包的信息
msgTypeGRAB_RED_ENVELOPE是领红包的信息
其他信息全都忽略就行

SEND_RED_ENVELOPEmsgPayload如下:



  1. {
  2. "note": "1",
  3. "amount": "0.05000000",
  4. "grabCode": "红包码",
  5. "expireTime": "1690766128593",
  6. "orderId": "",
  7. "currency": "COS",
  8. "received": false,
  9. "totalCount": 1
  10. }

GRAB_RED_ENVELOPEmsgPayload如下:



  1. {
  2. "grabCode": "红包码",
  3. "ownerChatUid": "",
  4. "orderId": "",
  5. "ownerNickname": "",
  6. "sendRedEnvelopeSeq": ""
  7. }

均只需要关注grabCode

查询红包状态

请求方式:POST
请求地址:
https://www.binance.com/bapi/pay/v1/private/binance-pay/gift-box/code/query
请求数据:



  1. {
  2. "grabCode": "红包码",
  3. "channel": "DEFAULT"
  4. }

返回内容:

20230805220238.png

红包状态:
successfalse,红包不可领(比如过期、领完了等等),具体信息看message
data.grabbedtrue,表示已经领取过了
否则就是可领取状态

请求方式:POST
请求地址:
https://www.binance.com/bapi/pay/v1/private/binance-pay/gift-box/code/grabV2
请求数据:



  1. {
  2. "grabCode": "红包码",
  3. "channel": "DEFAULT",
  4. "scene": null
  5. }

返回内容:

20230805221110.png
20230805221656.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK