xh
xh 是用 Rust 重写的 HTTPie 风格命令行 HTTP 客户端,主打友好语法与高性能,支持 JSON/表单请求、会话、下载、认证、代理与 HTTP/2、HTTP/3 等特性。
爱鲜报评分
0.0
0 人评分
8.2k
星数
否
中文
Rust
主语言
是
活跃
53
贡献者
人工分析
EDITORIAL推荐理由
xh 几乎完整复刻 HTTPie 的易用语法,同时用 Rust 带来更快的启动与请求速度,单文件二进制无运行时依赖。对经常在终端里调试 API、写脚本或做接口测试的开发者来说,是 curl 与 HTTPie 之间很好的折中选择。
适用场景
- 终端调试 REST API
- 编写 Shell 脚本调用接口
- 接口自动化测试与冒烟验证
- 下载文件与断点续传
- 需要代理/认证/自定义 TLS 的请求场景
优点
- 语法简洁,URL 后直接跟 key=value 即可构造请求
- Rust 实现,启动快、性能好、单二进制易分发
- 兼容 HTTPie 大部分设计,迁移成本低
- 支持会话、下载续传、多种认证与 HTTP/2/3
- 输出着色与格式化友好,便于阅读响应
缺点
- 与 HTTPie 并非 100% 行为一致,脚本迁移需验证
- 高级功能(会话、代理、TLS)选项较多,需要学习
- 部分发行版仓库版本较旧,需自行安装新版
上手难度
入门
xh 是什么
xh 是一个用 Rust 编写的命令行 HTTP 客户端,目标是尽可能复刻 HTTPie 的优秀设计,同时把性能做得更好。它适合在终端里快速发请求、调试接口和写脚本。
核心特点
- 语法友好:URL 后面直接跟
key=value就会序列化为 JSON,key:=value可传原始 JSON 值。 - 性能出色:Rust 实现,启动和请求开销小,单二进制分发。
- 功能齐全:支持会话、下载与断点续传、Basic/Bearer/Digest 认证、代理、自定义 CA、HTTP/2 与 HTTP/3 等。
- 输出可读:响应自动着色和格式化,也可用
--print精确控制输出内容。
快速上手
安装方式很多,常见的有包管理器或预编译二进制:
# 以 Homebrew 为例
brew install xh
# 或通过 Cargo 安装
cargo install xh --locked
发送一个 GET 请求:
xh GET https://httpbin.org/get
发送 JSON 数据(默认即为 JSON):
xh POST https://httpbin.org/post name=alice age:=18
只查看响应头:
xh --headers https://httpbin.org/get
适用人群
- 习惯在终端里调试 API 的后端与前端开发者
- 需要在 Shell 脚本中调用 HTTP 接口的运维/自动化工程师
- 想从 HTTPie 迁移、又希望获得更好性能的用户
注意事项
xh 虽然兼容 HTTPie 的大部分用法,但并非完全一致;把已有脚本迁移过来时,建议先做一轮验证。另外不同发行版仓库中的版本可能较旧,需要新特性时可通过官方安装脚本或包管理器获取最新版。
评论
- 暂无评论,来写第一条吧。