连接到币安 websocket 时出错

时间:2021-03-24 19:41:18

标签: python websocket binance

我正在尝试连接到币安流,但是当我运行代码时,它输出:“关闭的连接”。我该怎么做才能加入直播?

import websocket
import json

socket = 'wss://fstream.binance.com/ws'


def on_open(ws):
    subscribe_message = {"method": "SUBSCRIBE", "params":["btcusdt@trade"],"id": 1}
    ws.send(json.dumps(subscribe_message))


def on_message(ws, message):
    print("received a message")
    print(json.loads(message))


def on_close(ws):
    print("closed connection")

ws = websocket.WebSocketApp(socket, on_open=on_open, on_message=on_message, on_close=on_close)
ws.run_forever()

1 个答案:

答案 0 :(得分:0)

欢迎来到stackoverflow

通过查看 wss://fstream.binance.com/ws,我可以看出您正在尝试连接到 Futures API

API 文档中明确指出,任何原始流都在 /ws/<streamName>

您没有在 url 中指定 streamName 这就是错误的原因。

只需更改 url 以连接到正确的流,相同的代码应该适用于您:

ws = websocket.WebSocketApp(socket + '/btcusdt@trade', on_open=on_open, on_message=on_message, on_close=on_close)

如果有帮助,请将答案标记为已接受。