#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)
Если это поможет, пожалуйста, отметьте ответ как принятый.