cURL 转 fetch
将复制的 cURL API 请求转换为浏览器 fetch 代码。
- 1添加输入
- 2确认后运行
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
粘贴 HTTP(S) cURL 请求并生成浏览器 fetch 代码。复制前核对请求方法、标头和请求体;工具不会发送请求。
如何使用
- 从 API 文档或终端复制并粘贴一条 cURL 命令。
- 核对解析出的请求方法、主机、标头数和请求体大小;根据输入框下方的提示修正不支持的写法。
- 生成并检查 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 时跟随重定向。跨域手动重定向可能只返回不透明响应。分享代码前还应检查其中的令牌。