cURL 转 Fetch 转换器

将任意 cURL 转换为 fetch:粘贴 curl 命令即可获得整洁的 JavaScript fetch() 调用,含请求头、方法与请求体,全部在浏览器本地处理。

你的 curl 命令在浏览器本地转换,绝不会上传,但请避免将真实的生产令牌或凭据粘贴到任何工具中。

由 Udit Agarwal 开发和维护

在检查 API URL 吗?试试 URL 解析器。

关于 cURL 转 Fetch

这款 curl 转 fetch 转换器会接收你从终端、浏览器 DevTools 或 API 文档复制的 curl 命令,并将其改写为可直接运行的 JavaScript fetch() 调用。作为 curl 转 fetch 转换器,它会解析 -X、-H、-d、--data-raw、--json、-u、-b 和 -G 等常见标志,推断出正确的 HTTP 方法,设置合理的 Content-Type 请求头,并用 JSON.stringify 美化 JSON 请求体。用它把 curl 请求迁移到前端代码、Node 脚本或快速测试中,无需手动翻译语法。它专为开发者、QA 工程师以及任何需要快速完成 curl 转 javascript 的人而打造。转换完全在你的浏览器中运行,因此你粘贴的命令在本地处理,绝不会离开你的设备。

功能特性

  • 解析方法(-X/--request),未指定时自动推断 GET 或 POST
  • 将 -H/--header 标志转换为结构化的 fetch 请求头对象
  • 处理 -d、--data-raw、--data-ascii、--data-binary 与 --json 请求体
  • 用 JSON.stringify 美化有效的 JSON 请求体并添加匹配的 Content-Type
  • 将 -u/--user 基本认证编码为 Authorization 请求头,并映射 cookie、user-agent 与 referer
  • 通过将数据追加为查询字符串来改写 -G/--get 请求
  • 对没有 fetch 对应项的标志发出警告,如 -k、-L 和输出到文件选项
  • 一键复制结果或将其下载为 request.js

如何使用 cURL 转 Fetch

  1. 将你的 curl 命令粘贴到 cURL 命令框中。
  2. 在右侧的输出面板中查看生成的 fetch() 等价代码。
  3. 查看警告横幅,了解被忽略或调整过的标志。
  4. 点击复制获取 fetch 代码,或将其下载为 request.js。

示例

输入

curl https://api.example.com/users \
  -H "Authorization: Bearer TOKEN" \
  -d '{"name":"Ada"}'

输出

const response = await fetch("https://api.example.com/users", {
  method: "POST",
  headers: {
    "Authorization": "Bearer TOKEN",
    "Content-Type": "application/x-www-form-urlencoded"
  },
  body: "{\"name\":\"Ada\"}",
});

const data = await response.text();

带 -d 请求体时默认使用 POST 和 form-urlencoded 的 Content-Type。

常见错误与故障排除

  • 输出显示 "Command should start with curl" 或 "No URL found in the curl command"。 — 确保粘贴的文本以 curl 开头并包含完整 URL;转换器需要一个真实的 curl 调用。
  • JSON 请求体被输出为 form-urlencoded 字符串,而不是 JSON.stringify。 — 使用 --json 发送,或添加 -H "Content-Type: application/json",让转换器知道要用 JSON.stringify 包装有效的 JSON。
  • -k/--insecure 或 -L/--location 等标志似乎消失了。 — 这些没有 fetch 对应项;浏览器始终强制 TLS 并默认跟随重定向,因此转换器会将它们记为警告并丢弃。
  • --data-urlencode 的值未被重新编码。 — 转换器会原样保留这些值并向你发出警告;如果端点需要严格的 URL 编码,请自行编码该值。

常见问题

什么是 cURL 转 Fetch 转换器?
它是一款在浏览器内运行的工具,可解析常见的 curl 标志,包括 -X、-H、-d 及其变体、--json、-u、-b、-A、-e、-G 和 --url,然后构建出带有正确方法、请求头和请求体的等价 JavaScript fetch() 调用。
如何将 curl 命令转换为 fetch?
将你的 curl 命令粘贴到输入框中,cURL 转 Fetch 转换器会立即在右侧呈现 fetch() 等价代码,你可以复制它或下载为 request.js。
cURL 转 Fetch 转换器如何决定 HTTP 方法?
如果你传入 -X 或 --request,它会使用该方法;否则在存在数据请求体时默认为 POST,没有时则默认为 GET。
它能处理 -u 的基本认证和 -G 的查询数据吗?
可以。-u 或 --user 的值会被 base64 编码到 Authorization: Basic 请求头中;使用 -G 时,你的 -d 数据会作为查询字符串追加到 URL,而请求体保持为空,就像 curl 一样。
我转换时,curl 命令会被发送到任何地方吗?
不会。curl 转 fetch 的转换完全在你的浏览器中运行,因此命令及其中的任何令牌都在本地处理,绝不会离开你的设备。

相关工具

更多API 工具工具

查看全部API 工具工具 (24) · 全部工具