祈灵工具箱

🔌WebSocket 在线测试工具 - ws/wss 连接调试、收发消息、心跳与 SSE 测试

开发即时通讯、行情推送、协同编辑等实时功能时,需要一个顺手的 WebSocket 客户端来连接服务器、手动收发消息。输入 ws:// 或 wss:// 地址(可填写子协议)点击连接,状态、协商到的子协议和扩展会实时显示。发送区支持文本、JSON(实时校验、一键格式化、可压缩后发送)和二进制消息(输入 Hex,以 ArrayBuffer 发送),Ctrl / ⌘ + Enter 快速发送。消息记录按时间顺序显示收发方向、毫秒级时间戳和字节数,收到的二进制消息以十六进制 + ASCII 形式展示,JSON 消息可自动美化;可以按内容和方向筛选,导出为 JSON 或 TXT。还支持断线后按指数退避自动重连、定时发送心跳消息,以及把常用消息保存为模板(保存在本机浏览器)。切换到 SSE 页可以测试 Server-Sent Events:连接 EventSource、监听自定义事件名、查看 lastEventId。连接由你的浏览器直接发起,消息不经过本站服务器。注意浏览器的 WebSocket API 无法设置 Authorization 等自定义请求头。

免费 · 无需注册 · 浏览器本地处理最后更新:

正在加载工具...

如何使用WebSocket 在线测试

  1. 1输入 ws:// 或 wss:// 服务器地址,按需填写子协议,点击「连接」
  2. 2选择文本、JSON 或二进制(Hex),输入消息后发送
  3. 3在消息记录中查看收发内容,可筛选、导出,或开启自动重连与心跳

常见问题

为什么不能设置 Authorization 等请求头?怎么传 token?
浏览器的 WebSocket API 不允许自定义握手请求头,这是浏览器的限制,任何网页工具都做不到。常用做法有三种:把 token 放在 URL 查询参数里(如 wss://example.com/ws?token=xxx);通过子协议(Sec-WebSocket-Protocol)传递;或者依赖同域 Cookie。连接后再发送一条认证消息也是常见方案。
连接失败但看不到具体原因怎么办?
出于安全考虑,浏览器不会把 WebSocket 连接失败的详细原因告诉网页,只会触发 error 和 close(常见 code 1006)。请依次检查:地址和端口是否正确、服务器是否在运行、wss 的证书是否有效、服务器是否校验了 Origin,以及 https 页面不能连接 ws:// 明文地址(会被当作混合内容拦截)。浏览器开发者工具的控制台和网络面板通常能看到更多信息。
能测试本地的 WebSocket 服务吗?
可以连接 wss:// 的本地服务。连接 ws://localhost 时,部分浏览器(如 Chrome)对 localhost 放宽了混合内容限制,可以直接连接;如果被拦截,可以给本地服务配上自签名证书使用 wss://,或者在本地 http 环境中打开同类工具。
SSE 和 WebSocket 有什么区别?
WebSocket 是全双工连接,客户端和服务器都能随时发消息,适合聊天、游戏、协同编辑;SSE(Server-Sent Events)基于普通 HTTP,只能由服务器单向推送文本事件,但实现简单、自带断线重连和事件 ID,适合通知、日志流、AI 流式输出等场景。测试 SSE 时服务器需要返回 text/event-stream 并允许跨域。