Ошибка при подключении к Binance websocket

#python #websocket #binance

Вопрос:

Я пытаюсь подключиться к потоку 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:

Добро пожаловать stackoverflow в.

Посмотрев на wss://fstream.binance.com/ws , я вижу, что вы пытаетесь подключиться Futures API .

В документе API четко указано, что доступ к любым необработанным потокам осуществляется по адресу /ws/<streamName>

вы не указываете streamName URL-адрес in, вот почему произошла ошибка.

Просто измените URL-адрес для подключения к правильному потоку, и тот же код должен работать для вас:

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

Если это поможет, пожалуйста, отметьте ответ как принятый.