使用命令测试WebSocket

Linux环境下,分别使用curl和wscat命令测试websocket连接。

前言

  有时候我们需要从后台验证WebSocket连接是否正常,判断防火墙是否开通,反向代理是否配置正确等。我一般用下面两种方式进行快速简单的测试。

一、使用wscat测试WebSocket连接是否正常

  wscat是一个用来连接websocket的命令行工具,nodejs开发的。
  故需要先使用npm安装,然后执行一下即可:

npm install -g wscat
wscat -c ws://echo.websocket.org

  正常情况下输出如下:

connected (press CTRL+C to quit)

test_websocket_by_wscat.jpg

二、使用curl测试WebSocket连接是否正常

  curl-websocket.sh

curl --include \
     --no-buffer \
     --header "Connection: Upgrade" \
     --header "Upgrade: websocket" \
     --header "Host: echo.websocket.org" \
     --header "Origin: https://echo.websocket.org" \
     --header "Sec-WebSocket-Key: NVwjmQUcWCenfWu98asDmg==" \
     --header "Sec-WebSocket-Version: 13" \
     http://echo.websocket.org

  注意这里不需要特定的密钥(Sec-WebSocket-Key),所以随便取一个都可以。该头文件的作用是防止缓存websocket请求。
  正常情况下输出如下:

HTTP/1.1 101 Web Socket Protocol Handshake
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type
Access-Control-Allow-Headers: authorization
Access-Control-Allow-Headers: x-websocket-extensions
Access-Control-Allow-Headers: x-websocket-version
Access-Control-Allow-Headers: x-websocket-protocol
Access-Control-Allow-Origin: https://echo.websocket.org
Connection: Upgrade
Date: Tue, 09 Apr 2019 09:57:52 GMT
Sec-WebSocket-Accept: oPhRcOTYgRvrC0D+cTPcN3XYC1k=
Server: Kaazing Gateway
Upgrade: websocket

test_websocket_by_curl.jpg


  转载请注明: 文渊博客 命令行测试WebSocket

  目录