WebSocket 测试
WebSocket Tester
打开一条 WebSocket 连接,发送你自己写的帧,并把收到的一切带时间记录下来。
从你的浏览器向你指定的服务器打开一个 WebSocket,发送你输入的内容,把两个方向的每一帧连同时间记录下来。连接是浏览器自己建立的——什么都不经过我们的服务器,所以你机器上的开发端点和公网端点用起来一样。
连接是浏览器自己建立的。地址,以及发送和接收的内容,都不经过我们的服务器。
这个页面走的是 https,所以浏览器会把明文的 ws:// 当作混合内容拦下来。请改用 wss://,或者在本地 http 下打开你的开发服务器。
用逗号分隔。它会放进 Sec-WebSocket-Protocol 头字段里提出,由服务器挑一个。
浏览器只能发 1000 或 3000–4999(RFC 6455 §7.4)。
发送
日志
收到的帧是 ▼,发出的是 ▲。时间从第一条记录开始算。
还什么都没有。
- 浏览器的 WebSocket API 自己发不了 ping 和 pong 帧,也加不上自定义头字段。需要认证时,惯例是把令牌放在第一条消息里、URL 查询串里,或者作为 subprotocol 传。
怎么用
输入一个 wss:// 地址
这个页面通过 https 提供,所以浏览器把明文 ws:// 当作混合内容拦下。可以顺带提出子协议;服务器选一个,日志会写明选了哪个。
发一帧
合法的 JSON 在发送前压成一行,所以粘贴进来的格式化消息会按客户端会发的样子发出。不是 JSON 的内容按输入原样发出。
按方向和时间读日志
收到的帧是 ▼,发出的是 ▲,事件是 ●,每一条都盖着自第一条起的经过时间。这就是区分一台从不应答的服务器和一台应答很慢的服务器的方法。
需要时带上关闭码
浏览器只能发送 1000 或 3000–4999(RFC 6455 §7.4),所以你自己的码要放在应用定义的那个区间。返回的关闭码会用文字解释。
常见问题
能加 Authorization 头吗?
从浏览器不能——WebSocket API 根本不允许自定义头。惯例是把令牌放进第一条消息、URL 查询串,或者塞进子协议;用哪一种由服务器决定。
它以 1006 关闭了,没有原因
1006 表示连接在没有关闭帧的情况下断了——服务器崩溃、代理超时,或握手被拒绝。浏览器出于安全考虑刻意不给原因,所以答案在服务器日志里,不在这里。
能发 ping 帧吗?
不能。浏览器自动应答 ping,不给页面任何发送 ping 的办法。需要心跳的应用发一条普通消息,靠服务器回复。
我的流量经过你们的服务器吗?
不经过。浏览器直接连接,所以地址和每一帧都只在你和那台服务器之间。这也意味着 localhost 端点在这里能用,服务器端的测试器永远够不到那里。
可以从这些接进来
接下来
这些工具吃得下当前工具的产出,结果可以直接送过去。
HTTP 请求调试
HTTP Request Builder
构造并发出带自定义请求头和请求体的 GET/POST/PUT/PATCH/DELETE/HEAD 请求,显示状态码、响应头、响应体和耗时,且从不转发 Cookie 和 Authorization。
JSON 格式化与校验
JSON Formatter & Validator
把 JSON 美化成缩进形式或压成一行,校验语法并直接指出出错的行和列。
DNS 记录查询
DNS Lookup
通过 DoH 查询 A、AAAA、CNAME、MX、TXT、NS、SOA、SRV、CAA 和 PTR 记录,显示 TTL 和 DNSSEC 标志,解析器可选 Cloudflare 或 Google。
HTTP 响应头检测
HTTP Header Inspector
请求一个网址,列出完整的响应头、跳转链路、各段耗时和实际用到的压缩方式。
IP 地址信息查询
IP Address Info
查你的公网 IP 或任意地址的反向域名、ASN、宣告网络、前缀和注册国家,数据来自 Team Cymru 的 DNS 服务,不提供城市级定位。
二维码生成
QR Code Generator
为网址、文本、Wi-Fi、名片或支付字符串生成二维码,可设纠错等级、加 logo、导出 SVG。