切换工具

curl 转代码

把 curl 命令一键转换为 Fetch、Axios、Python requests、Go、Java 等多种语言的请求代码,自动解析方法、URL、请求头、请求体与认证。

curl 命令
0 chars · 1 lines
未找到 curl 命令
Fetch

使用说明

用途

curl 命令在线转换工具,把 `curl -X POST -H "Content-Type: application/json" -d "{...}" "https://..."` 这种命令行字符串转换为 JavaScript fetch / axios、Python requests / httpx、Java HttpClient、Go net/http、PHP cURL 等多种语言代码。智能处理 -X 方法、-H 头、-d 数据、-b cookie、-u 认证、--data-urlencode、@文件引用等 curl 选项。反向支持把代码转回 curl 命令。常用于浏览器 Network 复制的 curl 移植到代码、API 文档示例代码生成。所有转换在浏览器本地完成。

操作步骤

  1. 左侧粘贴 curl 命令(多行用反斜杠 \\ 续行也支持)
  2. 选目标语言:fetch / axios / Python requests / httpx / Java HttpClient / Go / PHP
  3. 右侧输出对应代码
  4. 保留 headers / body / 认证 / cookie 等完整信息
  5. 智能处理多行 curl(支持 \\ 续行符)
  6. 环境变量提取:把 token / API key 抽为常量便于复用
  7. 反向:粘贴代码片段(fetch / axios)转回 curl 命令
  8. 一键复制代码到剪贴板

常见问题

浏览器 DevTools 复制的 curl 直接能用吗?
通常能直接执行(macOS / Linux 终端)。**Windows PowerShell** 自带 curl 是别名指向 Invoke-WebRequest,**不兼容 curl 选项**,要么装真 curl 要么用 Git Bash 终端跑。**注意**: Chrome 复制的 curl 包含所有浏览器 headers(User-Agent / Accept-Language / Cookie 等),用代码移植时按需保留(**Cookie 通常要带,否则没认证**)。
fetch 和 axios 选哪个?
**fetch(浏览器原生)**: 无需安装,但 API 不友好(response.json() 还要再 await,没有超时支持需要 AbortController,错误不抛只看 ok)。**axios(库)**: API 友好(一行拿数据),有超时 / 拦截器 / 进度回调。**实际**: 新项目用 fetch(少一个依赖)+ 自己封装;老项目延续 axios 没问题;Node.js 环境用 axios 或 undici。
`curl -d "key1=value1&key2=value2"` 怎么转 JS?
`-d` 默认 application/x-www-form-urlencoded。**fetch**: `fetch(url, { method:"POST", headers:{"Content-Type":"application/x-www-form-urlencoded"}, body:"key1=value1&key2=value2" })`. **axios**: 直接 `axios.post(url, "key1=value1&key2=value2", { headers:{"Content-Type":"application/x-www-form-urlencoded"} })`. 或用 URLSearchParams 更标准。
文件上传的 curl 怎么转?
`curl -F "file=@/path/to/file"` 是 multipart/form-data 上传。**JS fetch**: 用 FormData: `const fd = new FormData(); fd.append("file", fileBlob); fetch(url, { method:"POST", body: fd });` **不要手动设 Content-Type**(浏览器自动加 multipart boundary)。
复杂 curl(多 header / 多 cookie)转换准不准?
本工具按 shell 语法解析 curl,准确处理: 1) 引号转义(单引号 / 双引号 / 反斜杠);2) 多行续行;3) 多个 -H 累加;4) -b 多个 cookie;5) --data-urlencode 编码。**已知局限**: 1) 复杂 shell 表达式($(date) / 反引号命令)不解析(按字面字符串处理);2) 部分 curl 选项(--resolve / --interface)没对应代码选项跳过。

应用场景

  • 浏览器 Network 移植:DevTools 复制 curl 转代码
  • API 文档生成:写文档时一份 curl 自动生成多语言示例
  • 调试转生产代码:Postman / curl 调通后转生产代码
  • AI 助手提示词:把 curl 转 fetch 给 ChatGPT / Copilot
  • 反向恢复:拿到一段代码反推 curl 命令在终端跑

适用场景

浏览器 curl 移植、API 文档多语言示例、调试转生产、AI 提示词、代码反推 curl。前端、后端、QA、技术写作常用。多语言支持、智能解析、反向转换是关键差异点。