# cURL 转 JavaScript (fetch)

将 cURL 命令转换为 JavaScript fetch() 代码片段，包含请求头、请求体和方法

> 标准页面: https://elysiatools.com/zh/tools/curl-to-js-fetch

- **分类:** Development

- **关键词:** curl, 转换, javascript, fetch, http, api, 代码生成, node

## 概述

本工具可以将 cURL 命令行请求快速转换为标准的 JavaScript fetch() 代码片段。它支持自动解析 HTTP 方法、请求头（Headers）和请求体（Body），并提供格式化请求体和添加注释的选项，帮助前端开发者快速在浏览器或 Node.js 环境中复现 API 请求。

## 输入项

- **cURL 命令** (textarea): curl -X POST https://api.example.com/users \ -H "Content-Type: application/json" \ -d '{"name":"Alice"}'
- **格式化请求体** (checkbox)
- **包含注释** (checkbox)

## 适用场景

- 需要将从浏览器开发者工具（Network 面板）复制的 cURL 命令转换为前端 JavaScript 代码时。
- 在编写前端 API 调用函数，需要快速构建包含复杂请求头和 JSON 请求体的 fetch 请求时。
- 在 Node.js 或浏览器控制台中快速调试第三方 API，需要将现有的 cURL 文档示例转化为 JS 代码时。

## 工作原理

- 在输入框中粘贴您要转换的 cURL 命令行代码。
- 根据需要勾选“格式化请求体”以美化 JSON 数据，或勾选“包含注释”以生成代码说明。
- 工具将实时解析 cURL 参数（如 -X、-H、-d 等），并自动生成对应的 JavaScript fetch() 代码。

## 使用案例

- 快速将 API 文档中的 cURL 示例转换为前端项目的 fetch 请求代码。
- 在 Chrome 开发者工具中右键复制请求为 cURL，然后一键转为 JS 脚本进行自动化测试。
- 辅助新手开发者学习如何使用 JavaScript fetch API 构建带有 Headers 和 Body 的 HTTP 请求。

## 常见问题

### 这个工具支持哪些 cURL 参数？

支持常见的参数，如 -X（方法）、-H（请求头）、-d/--data/--data-raw（请求体）以及请求的 URL。

### 转换后的代码可以在 Node.js 中运行吗？

可以，现代 Node.js（v18+）原生支持 fetch，或者您可以在旧版本中使用 node-fetch 库。

### 复杂的 JSON 请求体会如何处理？

工具会自动解析 JSON 字符串，并将其放入 body: JSON.stringify(...) 中，若开启格式化则会美化输出。

### 转换是在服务器端进行的吗？

不是，所有转换逻辑均在您的浏览器本地运行，不会上传您的敏感 API 密钥或请求数据。

### 支持文件上传（如 -F 或 --form）的转换吗？

本工具主要针对标准的 JSON、文本和 URL 编码请求进行转换，暂不支持复杂的 multipart/form-data 文件上传转换。

## 相关工具

- [cURL 转 Go (net/http)](https://elysiatools.com/zh/tools/curl-to-go): 将 cURL 命令转换为 Go net/http 代码片段，包含 http.NewRequest、请求头和请求体
- [cURL 转 JavaScript (axios)](https://elysiatools.com/zh/tools/curl-to-js-axios): 将 cURL 命令转换为 JavaScript axios 代码片段，使用配置对象、请求头和数据
- [cURL 转 PHP (cURL)](https://elysiatools.com/zh/tools/curl-to-php): 将 cURL 命令转换为 PHP cURL 代码片段，包含 curl_setopt、请求头和 POST 字段
- [cURL 转 Python (requests)](https://elysiatools.com/zh/tools/curl-to-python): 将 cURL 命令转换为 Python requests 代码片段，包含请求头、数据和请求方法
- [API 契约压力测试器](https://elysiatools.com/zh/tools/api-contract-stress-tester): 根据 OpenAPI 3.x 规范批量生成边界值测试请求，并可选发送到真实后端以发现契约不一致。
- [Cron 表达式解释器](https://elysiatools.com/zh/tools/cron-expression-explainer): 解析 5 段 / 6 段 / Quartz cron 表达式为自然语言调度描述，按字段拆解，并按任意 IANA 时区列出接下来 N 次执行时间，附带 AI 生成的本地化自然语言解释
- [Tailwind 色板同步器](https://elysiatools.com/zh/tools/tailwind-color-palette-sync): 输入一组 HEX,选择命名规则(色阶 50–950 / 单名 / 对象嵌套),自动生成 tailwind.config.ts 的 theme.extend.colors 片段,每个色阶同时给出 WCAG AA/AAA 对比等级,可选暗色模式。
- [cURL 命令转 HAR 转换器](https://elysiatools.com/zh/tools/curl-to-har-converter): 将 cURL 命令转换为可移植的 HAR 1.2 请求条目。

## 示例

- [Rome JavaScript 工具链示例](https://elysiatools.com/zh/samples/rome): Rome JavaScript 工具链示例，包括配置、代码检查、格式化、打包和项目管理
- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [Hugging Face JavaScript 示例](https://elysiatools.com/zh/samples/huggingface-js): Hugging Face JavaScript/TypeScript 示例，使用 Transformers.js 在浏览器和 Node.js 中运行 NLP、计算机视觉和多模态任务
- [JavaScript 示例](https://elysiatools.com/zh/samples/javascript): JavaScript代码示例和Hello World演示

## 相关内容

- [cURL 请求转换与 HTTP 测试工作流](https://elysiatools.com/zh/hubs/curl-to-code-converter): 将 cURL 请求转换为代码片段或 HAR，安全测试请求，并结合响应上下文解释 HTTP 状态码，同时保留请求头、请求体和认证注意事项。
- [API 请求格式检查、重放准备与调试工具](https://elysiatools.com/zh/hubs/api-request-replay-and-debugging): 检查请求结构，准备本地重放，对比响应并定位 API 调试线索。工具只做本地分析或生成，不能代替真实鉴权和服务端测试。
