cURL 转 Fetch
将 curl 命令转换为 JavaScript 的 fetch() 调用。
你的 curl 命令在浏览器本地转换,绝不会上传,但请避免将真实的生产令牌或凭据粘贴到任何工具中。
在检查 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
- 将你的 curl 命令粘贴到 cURL 命令框中。
- 在右侧的输出面板中查看生成的 fetch() 等价代码。
- 查看警告横幅,了解被忽略或调整过的标志。
- 点击复制获取 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 的转换完全在你的浏览器中运行,因此命令及其中的任何令牌都在本地处理,绝不会离开你的设备。
相关工具
全部 ArrayKit 工具