curl 命令构建器

可视化拼装 Method / URL / Header / Body / Query,一键生成 POSIX、Windows CMD、PowerShell 与 HTTPie 四种命令

在线 curl 命令生成工具:在左侧表单里选择请求方法、填写 URL、增删请求头、切换 JSON / 表单 / multipart 请求体并追加 Query 参数, 右侧实时生成可直接执行的 curl 命令,并自动处理 macOS/Linux 单引号、Windows CMD 双引号转义与 PowerShell 的 curl 别名陷阱; 另附 HTTPie 等价命令。GET 默认省略 -X、HEAD 使用 -I、multipart 走 -F,全程纯本地构建,不发出任何网络请求。

本工具只生成命令文本,不发送任何请求;生成后复制到终端执行。

示例预填:

请求配置

生成的命令

在左侧填写 URL(必填)后,命令会在这里实时生成

POSIX 版适用于 macOS / Linux / Git Bash / WSL,单引号包裹、反斜杠续行;Windows CMD 版用 ^ 续行、双引号包裹并把内部 " 写成 \"; PowerShell 版必须用 curl.exe(避免命中 Invoke-WebRequest 别名)并用单引号字面量;HTTPie 为等价语义,需另行安装 httpie。

#curl 命令构建器是什么?

curl 命令构建器是一款纯前端的 HTTP 请求命令生成工具。你在表单里选择请求方法(GET / POST / PUT / PATCH / DELETE / HEAD / OPTIONS)、 填写 URL、增删 Header 键值行、选择 JSON / 表单 / multipart 请求体并追加 Query 参数后,页面实时生成对应平台的完整命令文本: POSIX 版(macOS / Linux / Git Bash)、Windows CMD 版、PowerShell 版(curl.exe)以及 HTTPie 等价命令。 生成过程只做字符串拼装与转义,不会向任何服务器发送请求。

curl 常用参数速查

参数作用示例
-X指定请求方法,GET 是默认值可省略-X POST
-H添加请求头,可重复多次-H 'Content-Type: application/json'
-d发送请求体,同时自动把请求切为 POST-d '{"name":"a"}'
-F发送 multipart/form-data,值前加 @ 表示上传文件-F 'file=@/path/a.pdf'
-L跟随 3xx 重定向继续请求curl -L https://a.com
-k跳过 HTTPS 证书校验,仅限本地调试curl -k https://self-signed.dev
-i在输出中包含响应头curl -i https://a.com
-s静默模式,不显示进度条与错误信息curl -s https://a.com
--compressed请求压缩传输并自动解压响应curl --compressed https://a.com

Windows 下 curl 的引号坑

POSIX shell 里单引号是「字面量」,内部无需转义;而 Windows CMD 不把单引号当作字符串定界符,整条命令的字符串参数必须用双引号包裹, JSON 里的每一个双引号都要改写成 \" 才能原样传给 curl(curl.exe 按 C 运行时规则解析 \" 为字面双引号)。 另外还有四个高频坑:① .bat 批处理文件里 % 必须写成 %%,交互式 CMD 则不用;② 参数以反斜杠结尾时(如 "C:\dir\")反斜杠会把收尾引号转义掉, 路径结尾建议补一个 \ 或改用正斜杠;③ CMD 的续行符是 ^,且 ^ 之后不能有空格;④ JSON 值里本身带 \"(反斜杠+引号)时,按 CRT 规则反斜杠需双写成 \\\", 此类复杂转义建议直接改用 PowerShell 版(单引号字面量零转义)或 Git Bash。拿不准时可直接复制本页生成的 Windows CMD 版本。

cmd 与 PowerShell 的区别

  • 续行符不同:cmd 用 ^,PowerShell 用反引号 `(且必须是行尾最后一个字符)。
  • 引号规则不同:cmd 内部双引号写成 \";PowerShell 的单引号字符串是字面量,内部单引号写成两个单引号 '',双引号则原样保留。
  • curl 别名陷阱:PowerShell 5.x 里 curl 是 Invoke-WebRequest 的别名,参数体系完全不同,必须显式写 curl.exe 才会调用系统自带的真 curl;PowerShell 7+ 才默认解析为 curl.exe。
  • 默认环境:Windows 10 1803 之后的系统自带 curl.exe,老版本需要自行安装或改用 Git Bash / WSL。

POST JSON 完整示例讲解

以本页「POST JSON 带 Bearer」示例生成的 POSIX 命令为例:

curl 'https://api.example.com/v1/orders?dry_run=true' \
  -X POST \
  -H 'Authorization: Bearer sk-live-xxx' \
  -H 'Content-Type: application/json' \
  -d '{"name":"测试订单","note":"备注含 \"引号\" 与中文"}' \
  -i
  • 第一行:目标 URL;Query 参数已拼接到 ? 后,整个 URL 用单引号包裹,避免 &、? 被 shell 误解。
  • -X POST:显式声明方法(GET 时惯例省略,HEAD 时应改用 -I 而不是 -X HEAD,否则部分服务器会挂起)。
  • -H Authorization:携带 Bearer Token;-H Content-Type: application/json 告诉服务器请求体是 JSON。
  • -d:请求体原文放在单引号里,JSON 内部的 " 无需额外处理;若不用单引号,就得逐个写成 \"。
  • -i:把响应头一并打印出来,调试时便于确认状态码与 Content-Type。

为什么本地构建而不是在线发送?

调试请求里经常出现 Authorization Token、Cookie、API Key、内网地址这类敏感信息。市面上不少「在线发请求」工具会把你的 Header 原文提交到第三方服务器中转, 等于把凭证拱手交出去。本页面是纯静态前端:所有拼装、转义、校验都在你的浏览器内存里完成,不产生任何网络请求,也不写除本地偏好之外的存储; 生成的命令复制到你自己的终端执行,Token 与内网 URL 从始至终不经过任何第三方。

#常见问题 (FAQ)

生成的命令在哪里执行?

按平台复制对应版本:POSIX 版粘贴到 macOS 终端 / iTerm2 / Linux Shell / Git Bash / WSL;Windows CMD 版粘贴到 cmd.exe;PowerShell 版粘贴到 PowerShell 窗口;HTTPie 版需先安装 httpie(pip install httpie 或 brew install httpie)。

Windows 上执行报错怎么办?

最常见原因是复制错了版本:把 POSIX 版(单引号)粘进了 CMD 或 PowerShell。请切换到对应平台 Tab 再复制;PowerShell 里还必须用 curl.exe 开头,写 curl 会命中 Invoke-WebRequest 别名而报参数错误。

multipart 文件路径怎么填?

在字段值前加 @ 表示上传文件,例如 @/Users/me/report.pdf 或 @./a.png(相对当前终端目录);Windows 路径建议写成正斜杠 @C:/dir/a.pdf,避免收尾反斜杠与引号转义冲突。不带 @ 的字段按普通文本上传。

我填的 Token 会被上传吗?

不会。本工具纯本地运行,生成命令的过程不发任何网络请求,配置仅保存在你浏览器的 localStorage 中,清除浏览器数据即可彻底删除。

相关工具推荐

Spine动画编辑器

专业的Spine动画预览和编辑工具,支持多引擎导出

热门 新品 本地

SQL查询优化器

分析SQL查询并提供优化建议

热门 新品 本地

JVM启动参数配置

可视化配置Java虚拟机启动参数,支持内存、GC、性能等选项

热门 新品 本地

代码片段转换

不同编程语言间代码片段转换(如Python↔JavaScript)

热门 新品 本地

IP地址查询

查询IP地址的地理位置、运营商、ASN等信息,支持IPv4和IPv6

热门 新品 本地

JSON转TypeScript接口

根据JSON数据自动生成TypeScript类型定义

热门 新品 本地

相关教程