Websocat 技术文档
websocat 项目地址: https://gitcode.com/gh_mirrors/we/websocat
Websocat 是一个命令行工具,实现了类似 netcat、curl 和 socat 的功能,但专门针对 WebSocket 协议。通过它,你可以轻松地从命令行进行 WebSocket 连接和数据传输,非常适合于WebSocket的调试与测试。
安装指南
对于 Fedora 用户
sudo dnf copr enable atim/websocat -y && sudo dnf install websocat
对于 FreeBSD 用户
pkg install websocat
对于 Debian 或 Ubuntu 用户
前往 GitHub 发布页面下载预编译可执行文件,并手动放置到系统路径中。
对于 macOS 用户
使用 Homebrew 安装:
brew install websocat
或者使用 MacPorts:
sudo port install websocat
从源码编译(通用)
确保已安装 Rust 工具链 (rustup.rs
),然后执行以下命令:
cargo install --features=ssl websocat
如果遇到依赖问题,可以尝试去掉 --features=ssl
标志。
使用说明
Websocat 的基本用法非常简单,它支持多种场景,以下是几个典型示例:
- 连接到公共 WebSocket 服务端:
websocat ws://ws.vi-server.org/mirror
- 作为简单的 WebSocket 服务端和客户端:
# 在一个终端启动服务端
websocat -s 1234
# 另一个终端作为客户端连接并发送数据
websocat ws://127.0.0.1:1234/
- 利用远程调试特性:
chromium --remote-debugging-port=9222 &
curl -sg http://127.0.0.1:9222/json/new | grep webSocketDebuggerUrl | cut -d'"' -f4 | head -1 | xargs -I{} websocat -n1 --jsonrpc --jsonrpc-omit-jsonrpc {}
API 使用文档
Websocat 的命令行参数丰富,支持多种高级操作。例如,使用 -s
参数来创建服务端,ws://
或 wss://
来指定连接的 URL,还可以加上额外的选项以控制连接行为,如 --jsonrpc
用于发送 JSON-RPC 格式的数据。
基本的命令格式如下:
websocat [FLAGS] [OPTIONS] <addr1> <addr2>
其中 <addr1>
和 <addr2>
表示两端的连接地址,可能是 WebSocket URL、本地TCP端口等。FLAGS
包含了多种行为控制选项,如 --stdout-announce-listening-ports
会打印监听的端口信息。
项目安装方式总结
安装 Websocat 主要有预编译二进制安装、包管理器安装和源代码编译三种方式。对于大多数用户来说,推荐使用预编译二进制文件或通过系统的包管理器完成快速安装。开发者或需要特定配置的用户可能更倾向于从源代码编译,这样可以自定义编译选项,例如启用或禁用 SSL 支持。
Websocat 的强大在于其灵活性和广泛的兼容性,无论是简单的 WebSocket 测试还是复杂的代理和消息处理场景,它都能提供强大的支持。通过阅读官方文档和提供的示例,用户可以深入探索更多高级功能。