cURL 代码转换器
cURL 转代码在线转换器 (Fetch / Axios / Python / Go)
快速将浏览器网络面板或终端中的 cURL 命令转换为 JavaScript、Python 与 Go 代码片段。100% 浏览器客户端解析,安全保护生产 API 凭据。
纯客户端语法解析,不向目标服务器发起真实 HTTP 请求
处理规则
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-raw | options.body / data / json | 请求正文载荷;若包含合法 JSON 字符串将自动作为序列化对象处理,否则作为纯文本或表单数据传递 |
--data-urlencode <DATA> | URLSearchParams / data | URL 编码表单数据,自动还原编码并在目标语言中以表单格式封装 |
-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 标头,手动显式设置往往会导致长度不匹配或被浏览器阻止。
是否支持把转换后的代码直接导出或复制到剪贴板?
支持。在结果区域点击对应语言选项卡,即可一键将格式化好的生产级代码完整复制至剪贴板。