HT

HTTPie 转 cURL

把受支持的 HTTPie 命令转换为 POSIX cURL 片段

API 与 HTTP
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 Evan 维护•最近更新:2026年9月30日
HTTPie 命令

支持完整 HTTP(S) URL、方法、请求头、查询参数、平面 JSON 字段、文本表单、--raw 和基础认证。无字段时默认 GET,有正文时默认 POST。

cURL

完成转换后显示命令。

按 HTTPie 3.2.4 的无 stdin 子集转换,输出供 POSIX Shell 使用。不支持文件、嵌套字段、会话、Shell 展开及未知选项;跟随重定向仅支持无正文 GET。默认 User-Agent 等客户端头不逐项复制。

仅在浏览器处理,不执行命令、不发送请求、不保存命令草稿。复制结果可能包含认证信息。

页面阅读模式

完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。

工具说明

HTTPie 转 cURL 按 HTTPie 3.2.4 的明确子集生成 POSIX Shell 命令片段。支持完整 HTTP(S) URL、请求方法、有序请求头和查询参数、平面 JSON 字段及带类型的 JSON 值、URL 编码文本表单、原始正文与 ASCII 基础认证。普通数据字段默认生成 POST JSON,--form 的文本字段则使用 URL 编码。无效 JSON、会丢失精度的数值和未实现语法会明确报错。文件上传、嵌套字段名、stdin、会话及 Shell 展开不在支持范围内;跟随重定向仅支持无正文 GET。工具不执行命令、不发送请求,也不保存命令草稿。

生产可用片段

字符串字段和带类型字段组成同一正文

text

http https://api.example.com/users name=Alice active:=true

方法:POST
Content-Type: application/json
正文:{"name":"Alice","active":true}

URL 编码文本字段请使用 --form。[email protected] 这类文件上传语法不在本转换器的支持范围内。

常见问题

为什么 name=Alice 会生成 POST JSON?

HTTPie 在有数据时默认 POST,没有数据时默认 GET。未选择 --form 时,普通 = 字段是 JSON 字符串,:= 则提供 JSON 类型值。

支持哪些选项?

支持 --json/-j、--form/-f、--raw、使用 ASCII 用户名:密码的 --auth/-a、--verify=yes/no,以及仅用于无正文 GET 的 --follow/-F。未知选项会明确报错。

重复项和空值会保留吗?

重复查询参数和请求头按顺序保留;同名 JSON 字段使用最后一个值。空字符串字段保持为空;Header: 移除默认头,放在引号内的 Header; 表示发送空值。

能转换上传、嵌套字段或 Shell 管道吗?

不能。文件引用、multipart 上传、嵌套字段名、stdin、会话、环境变量展开、管道和重定向会被拒绝。带类型的 JSON 值本身可以是数组或对象。

不同客户端发出的请求一定完全相同吗?

工具转换已支持的请求字段,但 User-Agent 等默认头和传输行为可能不同。运行前应核对结果;输出使用 POSIX Shell 语法,不适用于 PowerShell 或 cmd 的引号规则。

命令会执行或保存吗?

不会执行命令或发送请求,也不保存输入草稿;工具加载时会删除旧版命令草稿键。复制结果可能包含认证信息。

继续浏览