实用工具
输入
结果
结果会显示在这里。API 文档的示例是 curl 命令,浏览器开发者工具复制请求也是 curl,可你要写的不是 shell 脚本。这个工具按 shell 和 curl 的方式读取命令——引号、反斜杠续行、$'…' 字符串、多个 -d 用 & 连接、--json 同时设置两个 JSON 请求头、-G 把数据移到查询字符串——然后写出同一个请求的 JavaScript fetch、Python requests、Go net/http、axios 或 PHP cURL 代码。无法转换的部分,比如代理、digest 认证或客户端证书,会在生成代码顶部的注释里写明,而不是悄悄丢掉。
它是怎么工作的
- 命令按 POSIX shell 的引号规则拆分;粘贴 Chrome 的「复制为 cURL (cmd)」时,也会处理 cmd.exe 的 ^ 转义。
- JSON 请求体写成语言原生的字面量——Python 用 dict,fetch 和 axios 用对象——方便修改;其他请求体保留为 curl 实际发送的字符串。
- -F 变成 multipart 表单并从磁盘读取文件,-u 变成 Basic 认证,-m 变成超时,-k 变成目标语言跳过证书校验的写法。
- 管道之后的内容(比如 | jq)不会转换,注释里会说明;$API_KEY 这样的 shell 变量原样保留,并提醒你替换。
你的数据去了哪里
哪也没去。本工具完全在你的浏览器里运行:你粘贴的文本由页面处理,不会传输到任何服务器,也不会写进任何日志。
本工具免费且无需登录,运行结果只存在于你当前的页面里,不会被保存到任何地方。
它要花多少
本工具完全免费,不需要登录,也不消耗积分。
常见问题
- 支持 Chrome 和 Firefox 的「复制为 cURL」吗?
- 支持。bash 版本(「复制为 cURL」或「复制为 cURL (bash)」)就是普通的 shell 引号。在 Windows 上,Chrome 还提供「复制为 cURL (cmd)」,用 ^ 转义字符,这种格式也能识别并还原。PowerShell 版本根本不是 curl 语法,而是 Invoke-WebRequest 脚本,不支持。
- 为什么我的 API 密钥还是写成 $OPENAI_API_KEY?
- 因为在 shell 里这是变量,运行命令时才会填入值,转换器无从得知。代码里原样保留,注释会列出找到的所有变量。请在代码里从环境变量读取——Python 用 os.environ,Node 用 process.env,Go 用 os.Getenv——不要把密钥直接写进源码。
- 这是 curlconverter 库吗?
- 不是。curlconverter 是做同一件事的知名开源项目,本页注明了它,但这个工具用的是自己写的、更小的解析器,只面向提供的五种语言。它覆盖决定请求内容的选项——方法、请求头、数据、表单、认证、Cookie、超时、重定向、TLS 校验——没转换的选项会列在代码开头的注释里。
- -L 和 --compressed 怎么处理?
- fetch、requests、Go 的 http.Client 和 axios 默认就会跟随重定向并解压 gzip 响应,不需要额外代码。PHP 的 cURL 默认两样都不做,所以命令里有这两个选项时,PHP 代码会设置 CURLOPT_FOLLOWLOCATION 和 CURLOPT_ENCODING。
背后的开源项目
本工具是独立实现,并未打包第三方库。curlconverter/curlconverter(MIT)在代码层面做的是同一件事——如果你需要在自己的程序里实现它,从那里开始,而不是调用一个网页。
curlconverter/curlconverter也常被称作
- curl 转代码
- curl 转 python
- curl 转 fetch
- curl 转 go
- curl 命令转换
- 复制为 curl 转代码
- curl 转 axios