cURL 解析器

解析 cURL 命令,提取参数并生成 fetch() 代码。所有处理在浏览器中完成。

解析组件 生成 fetch() 生成 axios

如何使用 cURL 解析器

1

粘贴命令

在输入框中粘贴完整的 cURL 命令。

2

解析

工具将提取 URL、HTTP 方法、请求头和请求体。

3

获取代码

查看等效的 fetch() JavaScript 代码并可复制。

什么是 cURL?

cURL 是一个命令行工具,用于通过各种网络协议传输数据。在 Web 开发中,常用于测试 API 接口。cURL 命令可以从浏览器开发者工具的 Network 面板中复制。

命令行工具

cURL 是一个命令行工具,支持 HTTP、HTTPS、FTP 等多种协议传输数据。

浏览器 DevTools 导出

大多数浏览器开发者工具支持右键网络请求并"复制为 cURL"以获取完整命令。

代码转换

将 cURL 命令转换为 JavaScript fetch() 或 axios 代码,方便集成到 Web 应用中。

常见问题

支持哪些 cURL 选项?

支持 -X、-H、-d、--data-raw、-b、-u、-F 等常用选项,以及 URL 和请求方法。

能处理多行 cURL 命令吗?

可以。工具支持使用反斜杠(\)续行的多行 cURL 命令。

生成的 fetch() 代码可以直接使用吗?

基本可以直接使用。部分认证头(如 Authorization)需要替换为实际凭据。

如何将 cURL 命令转换为 PHP 代码?

该工具将参数映射到 PHP 的 curl API:URL 填入 CURLOPT_URL,每个 -H 填入 CURLOPT_HTTPHEADER,-d 填入 CURLOPT_POSTFIELDS,-u 填入 CURLOPT_USERPWD。粘贴命令,复制生成的代码片段,样板代码(RETURNTRANSFER、错误处理)会自动生成。

-H 参数有什么作用?重复的请求头如何处理?

-H 'Content-Type: application/json' 添加一个请求头;为每个额外的请求头重复使用 -H,它们都会被发送。-H 还可以通过不带值的方式命名请求头来移除它(-H 'User-Agent:'),或在末尾加分号来发送空值。多个 -H 参数会保留顺序,这对少数 API 很重要。

cURL 中如何传递身份验证信息?

HTTP Basic 认证使用 -u user:password(curl 会将其 base64 编码后放入 Authorization 请求头)。Bearer 令牌作为请求头传递:-H 'Authorization: Bearer <token>'。API 密钥根据服务的不同,可能作为请求头或查询参数出现。警告:命令行中的机密信息会留在 shell 历史记录中 - 建议改用 netrc 文件或环境变量。

-d、--data-binary 和 -F 之间有什么区别?

-d 以 application/x-www-form-urlencoded 格式发送数据并去除换行符;--data-binary 原样发送数据负载,这正是 JSON API 所需要的;-F 构建 multipart/form-data 请求,这是文件上传的唯一选项。GET 风格的参数使用 -G 结合 -d,这会将数据移到 URL 查询字符串中。

为什么 cURL 命令有效,但转换后的代码却失败了?

通常是引号问题:shell 在 curl 看到之前就剥离了引号,而目标语言会重新解释它们 - 在 shell 中安全的单引号在 JavaScript 中需要不同的处理。其他陷阱包括:多行命令行尾的续行反斜杠、URL 中的百分号在某些语言中触发 %-格式化问题,以及 -b/-c 引用的 cookie 文件在新环境中不存在。

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}