Neatbo.

cURL 转 fetch

将复制的 cURL API 请求转换为浏览器 fetch 代码。

浏览器本地处理输入cURL输出JavaScript
  1. 1添加输入
  2. 2确认后运行
  3. 3获取结果

工具输入和文件在当前浏览器处理,不会上传。

输入内容

切换工具时在当前标签页临时保留输入。刷新或关闭后清除,较大的结果可能需要重新生成。

⌘ / Ctrl + Enter 运行
0 个字符 · 0 字节

检查请求

粘贴一条 cURL 命令。预览展示即将生成的 fetch 请求信息。

粘贴 cURL 命令开始。

浏览器仍受 CORS 规则约束。fetch 默认不发送凭据,仅在包含 -L 时跟随重定向;分享前请检查令牌。

正在准备处理工具…

开始之前

粘贴 HTTP(S) cURL 请求并生成浏览器 fetch 代码。复制前核对请求方法、标头和请求体;工具不会发送请求。

如何使用

  1. 从 API 文档或终端复制并粘贴一条 cURL 命令。
  2. 核对解析出的请求方法、主机、标头数和请求体大小;根据输入框下方的提示修正不支持的写法。
  3. 生成并检查 JavaScript 后复制使用;分享前检查密钥,并考虑浏览器 CORS 规则。

支持范围与限制

支持一个 HTTP(S) URL、-X/--request、-H/--header、重复的 -d/--data 或 --data-raw、--data-binary、--json、--url、-G/--get、-I/--head、-L/--location、--compressed 和 -v/--verbose。详细诊断输出不会包含在生成代码中。不支持本地文件请求体、Shell 展开及其他选项。

浏览器 fetch 不能设置 Cookie、Host、Content-Length 等禁止标头,遇到此类请求会报错。CORS、凭据和重定向行为仍可能与 cURL 不同。生成代码无法验证或修复服务端 API 行为。

转换仅在此浏览器中进行,不发送网络请求,无需注册。

操作示例

示例输入

curl -L -H 'Accept: application/json' --data-raw 'name=Mori&role=dev' https://example.com/api
示例参数
{}

示例输出

const response = await fetch("https://example.com/api", {
  "method": "POST",
  "headers": [
    [
      "Accept",
      "application/json"
    ],
    [
      "Content-Type",
      "application/x-www-form-urlencoded"
    ]
  ],
  "body": "name=Mori&role=dev",
  "redirect": "follow",
  "credentials": "omit"
});

出现问题时

移除不支持的选项、Shell 展开、本地文件请求体和浏览器禁止标头。粘贴一条完整的 HTTP(S) 请求并检查生成代码。

常见问题

这里会运行 cURL 请求吗?

不会。命令只在本地解析为文本。本站不会发送请求,也不会读取命令中指定的本地文件。

为什么从浏览器复制的 cURL 命令无法转换?

浏览器 fetch 无法设置 Cookie、Host、Content-Length 等标头。请移除这些标头,并确定应用将如何完成身份验证。本地文件请求体和 Shell 功能也不受支持。

fetch 与 cURL 的结果会完全一致吗?

不会。浏览器受 CORS 和凭据规则约束。生成代码默认不发送凭据,仅在命令包含 -L/--location 时跟随重定向。跨域手动重定向可能只返回不透明响应。分享代码前还应检查其中的令牌。

文档与延伸阅读

相关工具