开源 API 开发工具,支持 REST、GraphQL、WebSocket 等协议,提供网页、桌面和命令行版本。
- Star
- 19,266
- Fork
- 750
- 未关闭 Issue
- 202
- 最近提交
- 19小时前
这是什么?
Hurl 是一个命令行工具,用简单的纯文本格式描述 HTTP 请求并运行。请求可以串联,可以从响应中捕获值供后续请求使用,也可以用 XPath、JSONPath 等查询对响应头和响应体进行断言。
除了获取数据,Hurl 也用于测试 HTTP 会话。它支持对状态码、响应头、Cookie、SHA-256 哈希、SSL 证书属性、重定向和响应耗时等进行断言,并可生成 text、JUnit、TAP、JSON 和 HTML 格式的报告,便于接入 CI/CD 流程。它适用于 REST、SOAP、GraphQL、HTML 以及基于 XML/JSON 的 API。
Hurl 使用 Rust 编写,底层 HTTP 引擎为 libcurl,因此 --resolve、--connect-to、--proxy 等 curl 选项均可使用。它以单一二进制文件分发,无需额外运行时,还可将请求导出为 curl 命令。
核心功能
- 01纯文本请求文件,可串联多个 HTTP 请求。
- 02从响应中捕获值,并在后续请求中复用。
- 03基于 XPath、JSONPath、正则等查询对响应头和响应体进行断言。
- 04支持 REST、SOAP、GraphQL、HTML 以及 XML/JSON 接口。
- 05可输出 text、JUnit、TAP、JSON、HTML 等报告,便于接入 CI。
- 06基于 libcurl 构建,支持 HTTP/2、HTTP/3 及 curl 选项。
适用场景
- 在 CI/CD 流水线中运行 API 冒烟或集成测试。
- 编写多步骤的登录或 CSRF 流程脚本,对 Web 应用进行测试。
- 在 API 开发过程中检查响应状态码、响应头和 JSON 字段。
- 将可重复执行的 HTTP 请求以文本文件形式与项目一同保存。
标签
常见问题
- hurl 是什么?
- Hurl 是一个命令行工具,用纯文本格式定义并运行、测试 HTTP 请求。 Hurl 是一个命令行工具,用简单的纯文本格式描述 HTTP 请求并运行。请求可以串联,可以从响应中捕获值供后续请求使用,也可以用 XPath、JSONPath 等查询对响应头和响应体进行断言。
- hurl 可以免费使用吗?用的什么许可证?
- hurl 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- hurl 还在维护吗?
- 活跃维护中。hurl 最近一次提交是在 2026年10月21日。
- hurl 适合用来做什么?
- 在 CI/CD 流水线中运行 API 冒烟或集成测试。 编写多步骤的登录或 CSRF 流程脚本,对 Web 应用进行测试。 在 API 开发过程中检查响应状态码、响应头和 JSON 字段。 将可重复执行的 HTTP 请求以文本文件形式与项目一同保存。
- 在哪里获取 hurl?
- 源代码和安装说明在 GitHub 上:https://github.com/Orange-OpenSource/hurl
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
8.1万6174TypeScriptMIT更新于 前天
一款友好、快速的命令行 HTTP 请求工具,沿用 HTTPie 的大部分语法并提升启动性能。
8139151RustMIT更新于 4天前
开源 API 与集成测试工具,通过 eBPF 录制真实流量并回放为测试和数据 Mock,无需修改代码。
1.9万2421GoApache-2.0更新于 9小时前
开源 API 客户端,将请求集合以纯文本文件保存在本地,是 Postman、Insomnia 的离线替代品。
4.8万3015JavaScriptMIT更新于 3天前
终端 API 客户端,把 HTTP、GraphQL、gRPC、WebSocket 和 SSE 请求保存为可放入 git 管理的 .http 文件。
199059GoApache-2.0更新于 3天前
一款桌面端 API 客户端,支持 REST、GraphQL、WebSocket、SSE 和 gRPC,基于 Tauri、Rust 与 React 构建。
1.9万835TypeScriptMIT更新于 昨天