cURL 命令生成器 — 一键拼出正确的 HTTP 请求命令

手写 cURL 命令是开发者每天都会遇到的小麻烦。线上问题要复现,同事想看一眼你发出的原始请求,webhook 得在终端里验证,文档里要附一个能跑的示例,结果一个没转义的 & 或者一个漏掉的引号就足以让命令报错,而这个报错跟接口本身毫无关系:shell 会在 curl 看到这行字之前就把参数拆散,最后你只能对着一句 command not found 猜测哪里写错了。这个生成器把一张表单变成一条可以直接粘贴运行的命令:选好 HTTP 方法,填入完整 URL,选择认证方式(None、Basic 或 Bearer),勾上需要的请求头,再说明请求体是 JSON、表单字段还是原始文本。命令会随着你的每一次输入实时重写,你不需要记住每个选项该在什么位置出现。凡是含有空格或 shell 元字符的值都会自动套上单引号,值里本身带单引号时按 POSIX 规则转义,因此命令写出来是什么样,粘进终端运行就是什么样。复制按钮给出的还是去掉换行符的单行版本,正好适合贴进工单、聊天窗口或 README。整个拼装过程发生在你的浏览器里,不会向任何服务器发送数据,所以你可以放心地填入真实的 Bearer 令牌或密码来验证命令是否可用,而不必担心凭证落到第三方。

curl 命令生成器

身份验证

标头

请求正文

命令
curl \
  -H 'Accept: application/json' \
  'https://api.example.com/v1/items?page=2'

该命令在你的浏览器中组装,不会发送到任何地方。包含空格或 shell 元字符的值会用单引号包裹,因此命令可以按原样安全运行;值中出现的字面引号则按 POSIX 的方式转义。

功能介绍

curl(client URL)是一个用 URL 语法向服务器收发数据的命令行程序。它内置在 macOS 里,Git for Windows 的基础安装包也自带它,而几乎所有 CI 运行器、容器镜像和远程终端环境里都能找到它。它最初出现于 1998 年,只是为了在终端里抓网页,后来成长为通用的 HTTP 客户端:支持 HTTP/1.1 与 HTTP/2、HTTPS、代理、Cookie、重定向,以及 FTP 和 SFTP。 每条 cURL 命令的读法都一样,因为每个选项都对应请求的某个组成部分: - 方法选项。-X 后面跟一个动词,用来指定 HTTP 方法。GET 是 curl 的默认值,完全可以省略,光写一个 curl 加 URL 就是一次 GET,HEAD 同理。而 POST、PUT、PATCH、DELETE 和 OPTIONS 必须显式写出来,服务器才知道你要做什么。 - 请求头选项。每一组 -H 'Name: value' 添加一个 HTTP 头。Accept 说明你希望服务器返回什么格式,Content-Type 描述你发送的请求体,其他名字则原样透传。HTTP 头名称在协议层是不区分大小写的。 - 认证选项。-u 'user:password' 是 Basic 认证的简写,curl 会替你把用户名密码做 Base64 编码再塞进 Authorization 头。Bearer 令牌并没有对应的专用选项,只能用 -H 'Authorization: Bearer ...' 发送。要理解这个区别:-u 只是某个特定请求头的快捷写法,并不是第二套凭证机制,手写同样的 Authorization 头产生的请求完全等价。

- 数据选项。-d、--data 和 --data-raw 都会附带请求体,--data-urlencode 会对单个 name=value 做百分号编码。这里有个容易踩的坑:只要加了任何数据选项,curl 就会把方法默认切换成 POST,除非你自己用 -X 明确指定,于是本想发 PUT 的请求会悄悄变成一次创建操作。这个生成器把这件事显式呈现出来——方法还是 GET 时你一旦选了请求体,-X POST 就会自动出现。 - URL 放在最后,纯链接不加引号,带查询串则需要引号。 大部分手写命令都栽在引号上。shell 会在 curl 看到这行文字之前先解析它,把空格、&、|、;、$、>、*、?、圆括号、单引号和双引号当成语法而不是数据。把 https://api.example.com/search?q=a&b=2 直接粘进去,会在 & 处被劈成两半:curl 只请求了 /search?q=a,shell 又试图去执行剩下的 b=2,于是报出一个和接口毫无关系的 command not found。JSON 请求体也是同样的命运,因为花括号里的空格会把它拆成十几个参数。用单引号包起来,等于告诉 shell 原样传递。 单引号是最安全的包裹方式,因为引号内部的一切都不再被解释:$ 不是变量,反引号不是命令替换,第二个单引号也不会提前结束字符串。唯一的问题是值里本身就含有单引号,而单引号内部无法转义单引号。POSIX 的解决办法是「结束引号、插入一个反斜杠转义的单引号、重新开启引号」,这就是本工具在头信息值或密码中出现撇号时自动输出的写法。

还有一个概念对无人值守的脚本很重要:幂等性。GET、HEAD、PUT 和 DELETE 按定义是幂等的,也就是重复发送同一个请求,服务端最终状态与只发一次相同,所以网络重试是安全的。POST 不幂等,重试一次可能就多创建了两条记录或者重复扣了一次款。curl 因此默认只重试幂等方法,这也是混合动词的脚本里用 --retry 通常没问题的原因。 最后是输出怎么看。默认情况下 curl 会在标准错误上画一个进度条,显示百分比、已下载和总字节数、当前速度以及预计剩余时间;一旦你把输出管道重定向或重定向到文件,进度条就消失了,--silent 则会彻底关掉它。-v 打印完整对话,小于号表示 curl 发出的内容,大于号表示收到的内容——请求行、每一个请求头、响应状态行、每一个响应头。-i 把响应头保留在正文里而不是丢弃,--fail 则让 curl 在遇到 4xx 或 5xx 时以非零状态码退出,方便脚本判断失败。

使用方法

  1. 在 Method 下拉框里选择接口需要的方法:GET、POST、PUT、PATCH、DELETE、HEAD 或 OPTIONS。下方命令会同步更新,GET 和 HEAD 不会输出多余的 -X。
  2. 把完整 URL 粘进 URL 输入框,别忘了协议头和查询串,例如 https://api.example.com/v1/items?page=2。
  3. 在 Authentication 区域点击 None、Basic 或 Bearer。选择 Basic 会展开用户名和密码两个输入框并生成 -u;选择 Bearer 会展开一个令牌输入框,并替你拼好 Authorization 请求头。
  4. 在 Headers 区域逐行编辑:用复选框决定某一行是否包含在命令中,填写 Header name 和 Header value,点右侧的 × 删除多余的行,或者用 + Add header 新增一行。
  5. 在 Request body 区域选择 No body、JSON、Form fields 或 Raw text。选了 JSON 或 Form fields 会自动补上对应的 Content-Type;如果你自己已经写了 Content-Type,工具不会再加一条。
  6. JSON 模式下勾选 Pretty-print 可以让请求体重新序列化时带缩进,不勾则原样保留你输入的内容;Form fields 会把每个 name=value 变成单独的 --data-urlencode 选项。
  7. 在 Command 代码块中查看完整命令,点 Copy 按钮把单行版本复制到剪贴板。拼装全在浏览器内完成,命令里的密码和令牌不会发送到任何地方。

计算示例

输入: GET https://api.example.com/v1/items?page=2,请求头 Accept: application/json

过程:

GET 是 curl 默认方法所以省略 -X,请求头用 -H 输出,URL 保留查询串

结果: curl \ -H 'Accept: application/json' \ https://api.example.com/v1/items?page=2

输入: POST https://api.example.com/v1/items,JSON 请求体 {"name":"example","active":true},Bearer 令牌认证

过程:

JSON 请求体生成 -X POST 和 Content-Type,令牌变成 Authorization 头,请求体整体加单引号

结果: curl \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer eyJhbGciOi...' \ --data-raw '{ "name": "example", "active": true }' \ https://api.example.com/v1/items

输入: POST https://api.example.com/login,Form fields 填 name=ada&password=secret,Basic 认证 ada:hunter2

过程:

Basic 认证转成 -u,每个表单字段转成独立的 --data-urlencode,并补上 urlencoded 类型

结果: curl \ -H 'Content-Type: application/x-www-form-urlencoded' \ -u 'ada:hunter2' \ --data-urlencode 'name=ada' \ --data-urlencode 'password=secret' \ https://api.example.com/login

输入: DELETE https://api.example.com/v1/items/42,自定义请求头 X-Request-Id: 8f14e45f

过程:

DELETE 无请求体因此显式写 -X DELETE,自定义请求头加引号,不添加任何用户没要求的东西

结果: curl \ -X DELETE \ -H 'X-Request-Id: 8f14e45f' \ https://api.example.com/v1/items/42

相关搜索

相关搜索:curl命令生成器, 生成curl命令, curl命令在线, curl请求头, curl基本认证, curl bearer令牌。

curl命令生成器生成curl命令curl命令在线curl请求头curl基本认证curl bearer令牌curl发送jsoncurl表单提交curl语法接口调试工具命令行http客户端shell引号规则curl教程api测试工具免费在线工具开发者工具curl命令模板http请求生成器

常见问题

为什么 GET 请求生成的命令里没有 -X?

因为一条不带选项的 curl 加 URL 本身就是 GET,再写 -X 属于纯粹的多余。HEAD 同理,它只取响应头。除非明确要求,否则方法由「有没有请求体」决定,因此工具对 GET 和 HEAD 省略 -X,而对 POST、PUT、PATCH、DELETE 和 OPTIONS 显式输出。如果遇到行为古怪、必须用非常规动词的接口,自己加一行自定义请求头,命令里就会出现。

我该用 -u 还是手写 Authorization 头?

两者产生的请求完全一致。-u 'user:pass' 只是把用户名密码做 Base64 编码再发送的简写,省去手工编码的麻烦。手写请求头只在几种情况下更合适:认证方案是自定义的、令牌里有你不愿直接写在命令行上的特殊字符、或者密码本身包含冒号——因为第一个冒号之后的所有内容都会被当作密码,这一点很容易让人困惑。

为什么 JSON 请求体必须放在单引号里?

因为 shell 会在 curl 拿到参数之前先解析整行命令,而没加引号的 JSON 里全是空格、花括号、引号和冒号,shell 会把它们当作语法处理。少了引号,请求体会被拆成好几个参数,curl 只会报一个莫名其妙的数据缺失错误。放进单引号后,每个字符都会原样传递,包括 JSON 自己需要的双引号。本工具会自动给所有不是纯字母数字安全字符的值加引号,所以生成的命令可以直接粘贴运行。

工具会自动添加 Content-Type 吗?

会,但仅限于你没有自己指定的情况。选择 JSON 请求体会补上 Content-Type: application/json,选择 Form fields 会补上 Content-Type: application/x-www-form-urlencoded。如果头部列表里已经有 Content-Type,工具会跳过自己那一条,避免同一个头出现两次且值互相冲突。发送 JSON 却不带 Content-Type 是 400 错误的常见原因:服务器会默认按表单编码解析,结果读不懂你的请求体。

在这里填真实的 Bearer 令牌或密码安全吗?

从不上传的角度看是安全的。命令由你浏览器标签页里的 JavaScript 生成,URL、凭证和请求头都不会离开你的机器,更不会到达我们的服务器:不存储、不记录,关掉标签页值就没了。但仍需保持正常警惕——输入到任何网页里的令牌都有可能被浏览器扩展读取,而粘进终端的命令会留在 shell 历史里,所以对外分享示例时请换成占位符。

怎么发送表单数据而不是 JSON?

在 Request body 区域选择 Form fields,每行写一个 name=value;写在同一行用 & 连接也可以,工具会自动拆分。每一对会变成一条 --data-urlencode 'name=value',Content-Type 也会被设为 application/x-www-form-urlencoded。如果某个字段值本身含有保留字符,请使用百分号编码而不是直接写 &,否则服务器收到的字段会被截断。

为什么加了请求体之后方法变成了 POST?

这是 curl 自身的行为:用 -d 或 --data-raw 附加数据而不写方法时,curl 默认按 POST 处理。这个生成器如实呈现而不是悄悄替你决定,所以当方法下拉框还停在 GET 而你又选了请求体时,你会看到 -X POST 自动出现。建议先把方法下拉框改成真正需要的那一个,或者事后再修正,否则本意是更新资源的一次请求会悄悄变成新建。

相关工具

UUID生成器 - 开发者工具

使用我们的免费在线UUID生成器即时生成通用唯一标识符(UUID)。无论您是创建数据库键的软件开发人员、管理分布式系统的系统管理员、生成测试数据的QA工程师、还是分区数据集的数据工程师,此工具都提供符合RFC 4122的多种版本UUID。单击即可生成版本1(基于时间)、版本4(随机)、版本5(基于命名空间)和其他UUID变体。设置要生成的UUID数量,选择大写或小写输出,并可选地包含或排除连字符。复制单个UUID或下载整个列表。非常适合数据库种子、分布式系统标识符、会话令牌、请求跟踪以及任何需要保证唯一标识符而无需中央协调机构的场景。

JWT解码器

欢迎使用我们免费的在线 JWT 解码器 — 一个专业、直观的 JSON Web Token 分析和解码工具。无论您是在调试基于 JWT 的身份验证系统、验证 Token 的有效负载内容、检查令牌签名有效性,还是学习 JWT 的内部结构和工作原理,这款工具都能即时解码和分析任何标准的 JWT 令牌。无需安装任何软件或注册账户,只需粘贴您的 Token 即可查看其完整详细内容。是您构建和调试现代认证系统的不可或缺的开发者工具。

密码强度检测器

担心你的密码不够安全,无法保护你的账户?我们的密码强度检测器可以对任何密码进行快速、准确的真实世界安全评估。它评估多个关键因素——长度、字符多样性、常见模式、字典词汇、键盘序列——生成全面的安全评分。你还能够看到预估的破解时间,清楚地展示攻击者需要多长时间才能破解你的密码。所有分析都在浏览器本地完成,密码永远不会接触服务器。无论是创建新密码、审计现有密码,还是制定组织安全策略,本工具都提供清晰、可操作的反馈,帮助你做出更明智的决策。

JSON格式化工具

欢迎使用我们免费的在线 JSON 格式化工具 — 一个强大且易用的 JSON 美化、验证和编辑工具。无论您是在调试难以阅读的压缩 JSON 数据、格式化 API 响应以供分析、准备 JSON 文档用于展示,还是在开发过程中验证 JSON 语法,这款工具都能即时完成所有操作。所有的格式化操作都在您的浏览器本地完成,您的数据绝不会发送到任何服务器,确保敏感信息的完全隐私和安全性。是您日常 Web 开发和数据处理的必备工具,高效可靠值得信赖。

Base64 编码与解码

Base64 编码解码器是一个免费的即时在线工具,用于在文本和二进制数据与 Base64 格式之间进行转换。Base64 是一种二进制到文本的编码方案,使用 64 个 ASCII 字符来表示二进制数据,使其可以安全地通过基于文本的协议(如电子邮件 MIME、JSON、XML 和 URL)传输。本工具支持编码(将数据转换为 Base64)和解码(将 Base64 转换回原始文本或二进制数据)。支持 UTF-8 文本,高效处理大体积输入,完全在浏览器中运行,不向任何服务器发送数据。非常适合需要处理 API 认证头、Data URI、JWT 令牌或任何 Base64 转换场景的开发者。

URL 编解码工具

使用我们的免费在线URL编码/解码工具即时编码和解码URL。无论您是处理查询参数的Web开发人员、处理HTTP请求的API工程师、处理Web日志的数据分析人员、还是需要在URL中安全传输特殊字符的任何人,此工具都提供即时、准确的单向转换。URL编码将特殊字符转换为可以安全在互联网上传输的格式,而URL解码则逆转此过程以恢复原始文本。只需粘贴您的URL或字符串,即可实时获得编码或解码结果。该工具处理Unicode字符、空格、符号和RFC 3986中定义的所有特殊字符。输入您的数据并点击相应的按钮即可立即转换。

哈希生成器 - 开发者工具

使用我们的免费在线哈希生成器即时生成加密哈希。从文本或文件输入计算MD5、SHA-1、SHA-256、SHA-384、SHA-512和其他哈希值。这款面向开发者、安全专业人士和数据完整性验证的重要工具支持多种哈希算法,即时出结果。用于验证文件完整性、生成校验和、测试密码哈希、创建唯一标识符或学习加密哈希。所有处理均在浏览器本地完成——您的敏感数据永远不会离开设备,确保机密输入的完全安全和隐私。所有处理均在浏览器本地完成,无需上传任何数据到服务器,确保您的设计信息和隐私安全得到充分保护。工具界面简洁直观,即使是初学者也能在几分钟内轻松上手使用。

JSON转CSV转换器

使用我们的免费在线转换器即时将JSON数据转换为CSV格式。上传或粘贴JSON数组即可获得正确格式化的CSV输出,带有自动标题检测、可自定义分隔符和嵌套对象扁平化。无论您是在导出API数据用于电子表格分析、将JSON数据库迁移到表格格式、准备数据供Excel或Google Sheets导入、从结构化数据生成报告,还是将JSON数据源与遗留系统集成,此转换器都能处理复杂结构,包括嵌套对象、对象数组、混合数据类型和大型数据集,并提供可配置选项以获得最佳输出。

二维码生成器

需要为您的网站、名片、活动、产品包装或营销活动创建专业二维码?我们的免费二维码生成器可在数秒内创建高质量、可扫描的二维码——无需注册、没有限制、没有水印。只需输入您的URL、文本、联系信息、Wi-Fi凭证或任何其他数据类型,即可获得一个可与所有现代智能手机和二维码扫描应用配合使用的即时可扫描二维码。自定义颜色以匹配您的品牌,在PNG和SVG输出格式之间选择,立即下载您的二维码。无论您是分享联系信息的小企业主、链接到登录页面的营销人员、分发门票的活动组织者,还是展示数字菜单的餐厅,本工具让二维码创建变得轻松便捷。

HTML实体编码/解码

使用我们的免费在线HTML实体编码器将任何文本编码为HTML实体以安全地网页显示。将特殊字符和符号转换为其HTML实体等效形式,以防止渲染问题和安全漏洞。这款专用工具处理所有保留的HTML字符、Unicode符号、表情符号和多语言文本编码。用于在网页中显示前清理用户输入、编码代码片段以供安全预览、为HTML嵌入准备多语言内容或确保特殊字符的跨浏览器兼容性。编码器支持命名实体、十进制数字和十六进制输出格式。

User Agent生成器

使用我们的免费在线User-Agent生成器为任何浏览器、设备或操作系统生成真实的User-Agent字符串。无论您是测试响应式布局的Web开发人员、模拟不同客户端环境的QA工程师、准备网络抓取配置的数据科学家、还是分析请求头的安全专业人员,此工具都能让您即时访问数千个真实世界的User-Agent字符串。从流行浏览器(Chrome、Firefox、Safari、Edge)、操作系统(Windows、macOS、Linux、Android、iOS)和设备类型(桌面、移动设备、平板电脑)中选择。复制单个字符串或导出列表以进行自动化测试。通过浏览器版本、操作系统版本和设备类型进行自定义以匹配您的确切测试要求。

正则表达式测试器 - 开发者工具

使用我们的免费在线正则表达式测试器实时测试和调试您的正则表达式。无论您是编写模式匹配代码的开发人员、从文本中提取信息的数据分析师、还是配置日志过滤器的系统管理员,此工具都能为您的正则表达式模式提供即时反馈。只需输入您的正则表达式,提供测试字符串,即可立即看到所有匹配项高亮显示并附带详细的组捕获信息。该工具支持所有标准正则表达式功能,包括字符类、量词、锚点、前瞻、反向引用和标志。当您的模式出现语法错误时,会收到有用的错误消息,还可以使用内置的正则表达式参考指南进行快速语法查找。不再需要猜测您的模式是否有效——即时查看结果并迭代直到您的正则表达式完美无缺。

热门工具

EMI 计算器

想知道你每个月要还多少贷款?我们的 EMI 计算器几秒钟就能算好。只需输入贷款金额、利率和期限,就能看到精确的月供。 本工具采用先进的算法引擎,确保每次计算结果的精确性和可靠性,适合个人用户、财务顾问、企业会计师、投资分析师、房产经纪...

BMI 计算器

每次站上体重秤,你是否都在纠结那个数字到底意味着什么?是胖了还是瘦了?健不健康?BMI(身体质量指数)是目前全球最通用的体重健康评估指标,被世界卫生组织、各国医疗机构、保险公司和健身教练广泛采用。保持BMI在正常范围内(18.5-24...

体脂率计算器

体脂率计算器帮你用一个不需要去医院或健身房的简单方式,快速估算你身体中脂肪组织所占的百分比。相比单纯看体重秤上的数字,体脂率是衡量身体健康状况更准确、更有意义的核心指标。两个体重完全相同的人,体脂率不同,体型可能天差地别,长期健康风险...

CAGR 计算器

想要知道你的投资每年平均增长了多少百分比吗?复合年均增长率CAGR计算器是评估投资表现的核心工具,它能够帮你计算出一笔投资在多年期间的年均复合增长率,让你清楚地了解投资的真实年化收益水平,从而客观评价你的投资决策是否成功。无论你是想评...

单位转换 - 转换工具

从烹饪到建筑,从科学到购物,单位转换是你一直需要但从来记不住公式的东西。5K比赛是多少公里?200磅是多少千克?一加仑是多少升?单位转换器是你的测量通用翻译器。涵盖长度、重量、体积、温度、速度、压力、能量、功率、面积和数据存储——全在...

年龄计算器

计算精确的年龄并不像用当前年份减去出生年份那么简单。闰年、不同的月份长度以及时区都会让手动计算变得棘手。我们的年龄计算器为你省去了这些麻烦——只需输入出生日期,就能获得精确到年、月、周、天、小时甚至分钟的结果。无论是填写需要精确年龄的...

薪资计算器

了解你真实的到手收入对预算、规划和做出明智的职业决策至关重要,然而大多数人只看CTC数字而不了解每月实际到银行账户里有多少钱。我们的薪资计算器从雇主成本角度分解你的完整薪酬包,到扣除所有费用后的实际到手工资。无论你是想比较不同工作of...

小费计算器

外出就餐、理发、打车或接受任何个人服务时,往往会遇到该给多少小费的问题。小费计算器能根据你的消费总额和你体验到的服务质量,快速计算出合适的小费金额,免去了猜测的困扰。不同国家和不同服务类型的小费习惯差异很大,在某个地方算慷慨的行为在另...

字数统计 - 文字工具

需要准确的词数统计用于文章、论文或文档?这个文字计数器给你即时精确的词数、字符数、句子数和段落数。不管你是学生要满足字数要求、写作者追踪日常产出、译者估计项目大小还是内容经理核实简报要求,这个工具告诉你到底写了多少。它超越简单词数给你...

颜色代码转换器

颜色代码转换器是一个免费的在线工具,可以即时在网页设计和开发中使用的不同颜色格式之间进行转换。一键转换 HEX(#RRGGBB)、RGB(rgb(r,g,b))、RGBA(rgba(r,g,b,a))、HSL(hsl(h,s%,l%)...