cURL 代码转换器

cURL 转代码在线转换器 (Fetch / Axios / Python / Go)

快速将浏览器网络面板或终端中的 cURL 命令转换为 JavaScript、Python 与 Go 代码片段。100% 浏览器客户端解析,安全保护生产 API 凭据。

纯客户端语法解析,不向目标服务器发起真实 HTTP 请求

快速示例:
Method: POST
URL: https://api.example.com/v1/users
Headers: 2
Body: 54 bytes
// JavaScript (Fetch API)
async function sendRequest() {
  const response = await fetch("https://api.example.com/v1/users", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer my-secret-token-xyz"
},
    body: JSON.stringify({"name": "Alice", "role": "developer", "active": true}),
  });

  if (!response.ok) {
    throw new Error(`HTTP error! status: ${response.status}`);
  }

  const data = await response.json();
  console.log(data);
  return data;
}

sendRequest();
🛡️ 100% 浏览器本地解析 · 绝不上报凭证或向目标接口发起网络请求 · 支持断网离线使用

处理规则

cURL 语法解析机制与本地隐私保护

cURL 是终端中最常用的 HTTP 请求调试命令。在排查接口或调用第三方开放平台时,浏览器开发者工具(Network 面板)支持一键 'Copy as cURL'。

许多第三方在线 cURL 转换平台会将用户粘贴的命令(包括其中的 Authorization 令牌、Cookie、生产私密 API Key)传输至远端服务器解析,存在凭证泄漏与日志留存的严重风险。

本工具采用纯前端 JavaScript 词法解析器,在浏览器内存中完成参数提取、转义还原与多语言模板拼接。完全支持断网离线使用,确保企业敏感凭证零外泄。

cURL Command ➔ Client Lexer ➔ JavaScript (Fetch/Axios) | Python (requests) | Go (net/http)

参数对照指南

cURL 常用参数与目标代码结构映射表

cURL 命令行选项与 HTTP 协议及各语言网络库的参数具有直接对应关系。下表展示了常用选项在生成代码中的对应结构:

cURL 命令行选项对应目标代码结构行为说明与解析规则
-X, --request <METHOD>options.method / method显式指定 HTTP 请求谓词(GET/POST/PUT/DELETE/PATCH 等);若省略且带有 -d 则默认推断为 POST
-H, --header <HEADER>options.headers / headers设置 HTTP 请求标头;支持解析 Content-Type、Authorization、User-Agent 等多个连续标头
-d, --data, --data-rawoptions.body / data / json请求正文载荷;若包含合法 JSON 字符串将自动作为序列化对象处理,否则作为纯文本或表单数据传递
--data-urlencode <DATA>URLSearchParams / dataURL 编码表单数据,自动还原编码并在目标语言中以表单格式封装
-u, --user <USER:PASS>Authorization: Basic <base64>HTTP 基本身份验证;自动在本地将用户名和密码进行 Base64 编码并生成对应请求头
-b, --cookie <STRING>Cookie 请求头携带 Cookie 键值对字符串,直接映射为 Cookie 请求标头
-A, --user-agent <NAME>User-Agent 请求头自定义客户端标识字符串,映射为对应的 User-Agent 标头

Windows PowerShell 常见陷阱与引号转义注意

在 Windows PowerShell 5.1 及更早版本中,'curl' 实际上是内置命令 'Invoke-WebRequest' 的别名,而非原生的 cURL 工具。如果您在 PowerShell 中直接运行 curl 命令报错,通常需要使用 'curl.exe' 来调用真正的二进制程序。

PowerShell 对单双引号的处理机制与 Bash 存在差异:单引号内部的 JSON 双引号经常在复制时被意外破坏。本转换器的词法分析器针对 Windows 常见的反引号转义与连续双引号进行了智能容错,能自动还原损坏的 JSON 格式。

为什么 cURL 命令行能跑通,但浏览器运行报 CORS 跨域错误?

在终端中运行 cURL 时,它是独立的操作系统级原生进程,直接建立 TCP/TLS 连接并与目标服务器通信,完全不受浏览器的同源策略(Same-Origin Policy)约束。

而如果您将生成的 JavaScript Fetch 代码放在浏览器控制台或前端网页中运行,浏览器会强制拦截未携带有效 'Access-Control-Allow-Origin' 标头的跨域响应。如果您将生成的代码部署在 Node.js、Python 或 Go 后端服务中执行,则完全不会遇到任何 CORS 阻碍。

常见问题

cURL 转代码在线转换器 (Fetch / Axios / Python / Go) · 常见问题

把包含生产 Token 或 Cookie 的 cURL 贴在这里安全吗?

完全安全。所有解析与代码生成均在您的浏览器本地内存中同步完成,绝不向任何后端接口上传您的命令内容,也不会替您向目标网址发起请求。

支持从 Chrome / Firefox / Safari 开发者工具复制的 cURL 吗?

支持。全面支持处理长命令的换行符反斜杠 (\)、复杂引号嵌套转义、--data-raw 载荷以及多重 -H 标头。

转换出来的代码可以直接复制运行吗?

是的。生成代码已经包含完整的 HTTP Method、Headers 与 Body 序列化逻辑,安装对应语言标准依赖(如 Python requests 或 Node axios)或在现代浏览器中即可直接执行。

如何处理包含文件上传的 multipart/form-data 请求?

若 cURL 命令中包含 -F 或 --form 参数,生成器会自动在 JavaScript 中构建 FormData 对象,在 Python 中使用 files 参数,并在 Go 中通过 multipart.Writer 进行打包。

为什么转换后的代码不需要手动设置 Content-Length?

在现代 HTTP 客户端库中(如浏览器 Fetch、Axios、Python Requests),底层运行环境会根据 Body 的实际字节长度自动计算并填充 Content-Length 标头,手动显式设置往往会导致长度不匹配或被浏览器阻止。

是否支持把转换后的代码直接导出或复制到剪贴板?

支持。在结果区域点击对应语言选项卡,即可一键将格式化好的生产级代码完整复制至剪贴板。