このために独自のツールを追加したいと思います:websocat.
問題のサービスとのセッションの例:
$ rlwrap websocat wss://ws-feed.gdax.com
# Now enter this line (without the #) for the required JSON request:
# {"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"}
# To stop the feed, type this line:
{"type":"unsubscribe","channels": [{ "name": "heartbeat", "product_ids": ["BTC-USD"] }]}
{"type":"subscriptions","channels":[]}
Websocket クライアントに加えて、websocat は WebSocket サーバーやその他のモードをサポートし、Websocket を一般に「UNIX」の世界に統合することを目的としています。
まあ、必要なヘッダーを模倣して、curl を使用して何らかの応答を得ることができます:
- https://gist.github.com/htp/fbce19069187ec1cc486b594104f01d0 または
- Linux Bash:Websocket 接続をクライアントとして開く方法
また、WebSocket サーバーと通信する方法は他にもあります。
- https://github.com/websockets/wscat
- https://github.com/bwasti/webpipe
- https://github.com/progrium/wssh
node
があると仮定します インストールされている場合、wscat
を指定します 一発; 簡単 、直感的 、そしてパワフル .それ以外の場合、@Pavel の回答には、由緒ある Websocket クライアントの代替手段が豊富にあります。
# install
npm install -g wscat
# use
wscat -c "wss://ws-feed.gdax.com"
ubuntuでターミナルからディレクトリを検索する方法
Laravel + SQLite =SQLSTATE[HY000]General Error:8 読み取り専用データベースに書き込もうとしています