web-dev-qa-db-fra.com

Comment lire la réponse websocket en bash

Écrire un script bash pour se connecter à flux Websocket de GDAX à l'adresse wss: //ws-feed.gdax.com, mais curl ne semble pas supporter cela car je reçois

curl "wss://ws-feed.gdax.com"
curl: (1) Protocol "wss" not supported or disabled in libcurl
18
J. Doe

Eh bien, vous pouvez essayer d'imiter les en-têtes requis pour obtenir une réponse à l'aide de curl:

De plus, il existe d'autres moyens de communiquer avec un serveur WebSocket, par exemple:.

16
Pavel

En supposant que vous avez node installé, je donnerais wscat un coup; il est simple , intuitif et puissant . Sinon, la réponse de @ Pavel propose une multitude de solutions de rechange vénérables pour les clients Websocket.

# install
npm install -g wscat

# use
wscat -c "wss://ws-feed.gdax.com"
25
Travis Clarke

J'aimerais ajouter mon propre outil pour cela: websocat .

Exemple de session avec le service en question:

$ rlwrap  websocat wss://ws-feed.gdax.com
{"type":"subscribe","channels": [{ "name": "heartbeat", "product_ids": ["BTC-USD"] }]}
{"type":"subscriptions","channels":[{"name":"heartbeat","product_ids":["BTC-USD"]}]}
{"type":"heartbeat","last_trade_id":46274575,"product_id":"BTC-USD","sequence":6312079752,"time":"2018-07-12T22:32:42.655000Z"}
{"type":"heartbeat","last_trade_id":46274575,"product_id":"BTC-USD","sequence":6312079800,"time":"2018-07-12T22:32:43.656000Z"}
{"type":"heartbeat","last_trade_id":46274575,"product_id":"BTC-USD","sequence":6312079834,"time":"2018-07-12T22:32:44.656000Z"}
{"type":"heartbeat","last_trade_id":46274575,"product_id":"BTC-USD","sequence":6312079945,"time":"2018-07-12T22:32:45.656000Z"}
{"type":"heartbeat","last_trade_id":46274575,"product_id":"BTC-USD","sequence":6312079990,"time":"2018-07-12T22:32:46.657000Z"}
{"type":"heartbeat","last_trade_id":46274575,"product_id":"BTC-USD","sequence":6312080042,"time":"2018-07-12T22:32:47.657000Z"}
{"type":"heartbeat","last_trade_id":46274576,"product_id":"BTC-USD","sequence":6312080169,"time":"2018-07-12T22:32:48.657000Z"}
{"type":"unsubscribe","channels": [{ "name": "heartbeat", "product_ids": ["BTC-USD"] }]}
{"type":"subscriptions","channels":[]}

Outre un client Websocket, Websocat prend en charge le serveur WebSocket et d’autres modes et vise à intégrer les Websockets dans le monde "UNIX" en général.

7
Vi.