Curl to Code 转换器 - 在线将 cURL 转换为 Python、JavaScript、Go 等代码
将 curl 命令转换为 JavaScript、Python、Go、Java、PHP、Ruby、C#、Rust、Swift、Kotlin、Dart 和 PowerShell 代码。100% 客户端处理 — 您的 API 密钥和令牌绝不会离开浏览器。
输入 curl 命令以查看生成的代码常见问题
什么是 Curl to Code 转换器?
Curl to Code 转换器是一个将 curl CLI 命令转换为各种编程语言等效源代码的工具。无需手动将 -X、-H、-d 等 curl 标志翻译为特定库的 API 调用,该工具会自动解析您的 curl 命令并生成干净的、可直接使用的代码。它支持 13 种以上的语言和库组合,让您轻松将 API 调用集成到任何项目中。
如何使用这个转换器?
只需将您的 curl 命令粘贴到左侧的输入区域。工具会自动检测 HTTP 方法、请求头、请求体和其他选项。然后从右侧的下拉菜单中选择目标编程语言,生成的代码会立即显示,一键即可复制到剪贴板。您还可以编辑 curl 命令并实时看到输出更新。
我的数据安全吗?
是的,完全安全。此工具 100% 在您的浏览器中运行,不与任何服务器通信。您的 curl 命令(可能包含 API 密钥、认证令牌或敏感 URL)绝不会被传输到任何地方。所有解析和代码生成都使用客户端 JavaScript 在您的设备上本地完成。页面首次加载后,工具可完全离线工作。
支持哪些 curl 选项?
转换器支持最常用的 curl 标志,包括 -X/--request(HTTP 方法)、-H/--header(自定义请求头)、-d/--data(请求体)、-u/--user(基本认证)、-A/--user-agent、-b/--cookie、-L/--location(跟随重定向)、-k/--insecure(跳过 TLS 验证)、-F/--form(多部分表单数据)和 --data-urlencode。使用反斜杠续行的多行命令也能正确处理。
支持哪些编程语言?
该工具支持 13 种以上的语言和库组合,包括 JavaScript(fetch、axios、jQuery)、Python(requests、http.client)、Go(net/http)、PHP(cURL、Guzzle)、Ruby(net/http)、Java(HttpClient、OkHttp)、C#(HttpClient)、Rust(reqwest)和 Swift(URLSession)。每个生成器都会按照相应语言和库的惯例生成地道的代码。
为什么生成的代码和我预期的不一样?
转换器会应用多种智能转换来生成干净、地道的代码。它会根据标志自动检测 HTTP 方法(例如,-d 在没有 -X 的情况下会推断为 POST),合并重复的请求头,并遵循每个目标库的惯例。例如,当 Content-Type 为 application/json 时,Python requests 会使用 json 参数而不是 data。这些优化确保生成的代码遵循每种语言的最佳实践。
如何从浏览器开发者工具复制 curl 命令?
在 Chrome 中,打开开发者工具(F12),转到网络标签页,右键点击任意请求,选择「复制 > 复制为 cURL」。在 Firefox 中,打开网络监视器,右键点击请求,选择「复制 > 复制为 cURL」。在 Safari 中,先在偏好设置中启用开发菜单,打开 Web 检查器,转到网络标签页,右键点击请求,选择「复制为 cURL」。复制的命令可以直接粘贴到本工具中使用。
代码示例
// Curl to JavaScript fetch converter
// Parse curl command and generate fetch code
function parseCurl(command) {
const normalized = command.replace(/\\\s*\n/g, ' ').trim();
const stripped = normalized.replace(/^curl\s+/, '');
// Tokenize and parse flags
const result = { url: '', method: 'GET', headers: {}, data: null };
// ... parse -X, -H, -d, -u flags
return result;
}
function toFetch(parsed) {
const opts = {};
if (parsed.method !== 'GET') opts.method = parsed.method;
if (Object.keys(parsed.headers).length) opts.headers = parsed.headers;
if (parsed.data) opts.body = parsed.data;
return `await fetch('${parsed.url}', ${JSON.stringify(opts, null, 2)})`;
}
const curl = 'curl -X POST -H "Content-Type: application/json" -d \'{"key":"value"}\' https://api.example.com';
console.log(toFetch(parseCurl(curl)));