Próbuję zasubskrybować publiczny kanał API websocket Bitfinex.com BTCUSD
.Jak zasubskrybować kanał Websocket API przy użyciu języka Python?
Oto kod:
from websocket import create_connection
ws = create_connection("wss://api2.bitfinex.com:3000/ws")
ws.connect("wss://api2.bitfinex.com:3000/ws")
ws.send("LTCBTC")
while True:
result = ws.recv()
print ("Received '%s'" % result)
ws.close()
wierzę ws.send("BTCUSD")
, co zgadza się z kanałem publicznym? Otrzymuję komunikat zwrotny, który moim zdaniem potwierdza subskrypcję ({"event":"info","version":1}
, ale później nie otrzymuję strumienia danych. czego mi brakuje?
Aktualizacja: Oto kod, który w końcu zadziałał.
import json
from websocket import create_connection
ws = create_connection("wss://api2.bitfinex.com:3000/ws")
#ws.connect("wss://api2.bitfinex.com:3000/ws")
ws.send(json.dumps({
"event": "subscribe",
"channel": "book",
"pair": "BTCUSD",
"prec": "P0"
}))
while True:
result = ws.recv()
result = json.loads(result)
print ("Received '%s'" % result)
ws.close()
Jeśli pracujesz z interfejsem API, najpierw przeczytaj dokument. http://docs.bitfinex.com/#subscribe-to-channels –
Przeczytałem dokładnie te dokumenty. I o ile mogę powiedzieć, brakuje mi właściwego kodu do zasubskrybowania kanału. Jednak przejrzenie całej dokumentacji tutaj https://pypi.python.org/pypi/websocket-client/ następnie wyślij ("LTCBTC") jest właściwym sposobem na subskrypcję. Co ja robię źle? – Emily