curl 命令生成器怎么用:GET/POST、Headers、Body 一键生成

填表生成可复制的命令,省掉手拼引号的麻烦

调试接口时手写 curl 是一件细活:Header 要一个 -H、JSON body 里的引号要转义、URL 带参数还要手动拼 ?&。稍不留神就是一层引号套错,命令执行报一堆莫名其妙的错。

这篇用 NBTools 的curl 命令生成器讲清楚:表单每一项对应命令的哪一段、三个选项开关有什么用,以及生成结果里引号是怎么处理的。内容在浏览器本地处理,不上传服务器

表单每一项对应什么

表单项生成的命令片段说明
请求方法-X POST(可设为不显式写出)支持 GET / POST / PUT / PATCH / DELETE / HEAD / OPTIONS
请求 URL命令末尾的地址必填
Query 参数自动拼成 ?a=1&b=2 追加到 URL点"+ 添加"增加键值行,空键会被忽略
Headers每个一行 -H 'Key: value'AuthorizationContent-Type
Body-d '...'仅 POST / PUT / PATCH / DELETE 等方法显示

填完点"生成",右侧即出现完整命令;点"复制命令"直接带走,粘贴到终端即可执行。

GET 和 HEAD 为什么没有请求体

你可能会发现切到 GET 或 HEAD 时,Body 输入框消失了。这是符合 HTTP 语义的设计:GET 用于获取资源、HEAD 只取响应头,二者都不应携带请求体,很多服务端和代理也会直接忽略它们带上的 body。需要提交数据时请改用 POST 或 PUT。

三个选项开关

  • 多行格式(可读):默认开启。把每个 -H-d 拆成多行并用 \ 续行,长命令在终端里一眼能看清;取消勾选则压缩成单行,方便贴进一行命令或文档。
  • 添加 --compressed:默认开启。告诉服务器可以返回压缩响应(gzip 等),curl 自动解压,能减少传输体积。
  • 显式 -X METHOD:默认关闭。curl 在使用 -d 时会自动推断为 POST,因此 GET/POST 通常不必写 -X;勾选后会明确输出 -X GET / -X POST 等,适合需要显式指定或请求非标准方法的场景。

引号:为什么值里有单引号也不会崩

生成器统一用单引号包裹每个值,并对值内部出现的单引号做标准的 shell 转义(把一个 ' 替换成 '\'')。所以即使 Header 或 Body 里含有引号、空格、&$ 这类会被 shell 特殊对待的字符,生成的命令依然能原样传给服务端,不会被 shell 提前解释或截断。

这也是不建议手拼 curl 的主要原因:自己加引号时,一旦值里出现引号或 &,命令行为就会出乎意料。交给生成器处理更稳妥。

两个常见场景

带 Token 的 POST JSON

方法选 POST,填 URL;Headers 添加 Content-Type: application/jsonAuthorization: Bearer xxx;Body 里粘贴 JSON;保持"多行格式"开启,生成即得结构清晰的命令。

带查询条件的 GET

方法选 GET,填 URL(不要自己写 ?),在 Query 区块添加参数如 page=1size=20——生成器会自动拼成 ?page=1&size=20 追加到 URL,省去手动拼接和 URL 编码的麻烦。

常见问题

Query 参数需要我自己 URL 编码吗

不需要。参数会自动拼接到 URL 上;若值中含有中文或特殊字符,建议先用URL 编解码工具把该值编码后再填入,避免服务端解析异常。

为什么切到 GET 后 Body 输入框不见了

GET 与 HEAD 按 HTTP 语义不携带请求体,工具会隐藏该输入框。需要提交数据请改用 POST / PUT / PATCH。

命令里有 -X 但我不想看到它

取消勾选"显式 -X METHOD"即可。curl 在带 -d 时会自动按 POST 发送,多数情况下无需显式指定。

值里有单引号会出问题吗

不会。生成器用单引号包裹并做标准 shell 转义(''\''),含引号、空格、& 的值都能正确传递。

内容会上传吗

不会。所有内容在浏览器本地处理,你填写的 URL、Headers、Body 都不会上传到任何服务器。

相关工具

作者:NBTools · 更新于 2026年9月20日 · 阅读约 4 分钟