DevToolPal
简

curl 命令转代码

把 curl 命令转换成 JavaScript fetch、Node.js axios、Python requests、Go、PHP、Java 或 C# 代码。

本地处理,不上传

选项

curl 命令

0 字符 · 0 B

代码

0 字符 · 0 B

这个工具做什么

curl 命令转代码工具可以把一条 curl 命令转换成七种可以直接运行的代码:JavaScript fetch、Node.js axios、Python requests、Go net/http、PHP cURL、Java HttpClient 和 C# HttpClient。API 文档、Postman 和浏览器开发者工具都常用 curl 命令描述请求,有了这个工具,就不用再手动改写请求方法、URL、请求头、请求体和认证信息。

解析器专门针对 curl 命令行编写:按 bash 的规则处理引号,能识别 -sSL 这样合并的短选项和 -XPOST 这样紧跟的取值,并保留请求头原来的顺序。

使用方法

  1. 把 curl 命令粘贴到输入框,或点击「示例」试一试。
  2. 选择需要的目标语言。
  3. 复制结果,或下载为源代码文件。

用 -d 发送的请求体会变成表单编码的请求体;--json(或 JSON 类型的 Content-Type)会变成 JSON 请求体,语言支持时会格式化输出;-F 字段会变成带文件上传的 multipart 表单。-u user:password 会转换成对应语言自带的 Basic 认证写法,-k、-L、-m 和 -x 分别对应 TLS 校验、重定向、超时和代理。

示例

下面这条命令带着 Bearer 令牌提交 JSON:

curl https://api.example.com/v1/users \
  -H 'Authorization: Bearer TOKEN' \
  --json '{"name":"Ada"}'

转成 Python 后是一个 requests.post() 调用,带 headers 字典和 json=json_data;转成 Go 后是一个 http.NewRequest,逐个设置请求头,请求体用字符串 Reader 传入。

小贴士

  • 转换出错时,提示会说明问题所在,光标会跳到出错的位置,比如无法识别的选项或没有闭合的引号。
  • 命令后面的管道和重定向(| jq .、> out.json)会被忽略。
  • 用 @file 引用的文件会在代码运行时读取,请确认路径相对于程序运行目录是正确的。
  • 分享链接前请检查敏感信息:分享按钮会把命令放进链接的 # 部分。

常见问题

› curl 命令会被发送到服务器吗?

不会。命令完全在浏览器里解析和转换,其中的令牌、Cookie 和密码都不会离开你的设备。

› 支持哪些 curl 选项?

支持决定请求内容的选项:-X、-H、-d、--data-raw、--data-binary、--data-urlencode、--json、-F、-u、-b、-A、-e、-G、-I、-L、-k、-m、-x、--compressed 和 --url。只影响 curl 自身输出的选项(如 -s、-v、-o、-w)会被接受并忽略。

› 可以粘贴从浏览器开发者工具复制的命令吗?

可以。在「网络」面板里选择「复制为 cURL(bash)」即可。\、^(Windows cmd)和 `(PowerShell)三种续行写法都能识别,单引号、双引号和 $'…' 也都支持。

› 代码无法实现的选项会怎样处理?

生成的代码开头会有一行 Note 注释说明,例如 fetch 无法表达 -k,或者 curl 会读取某个文件而代码没有读取。无法识别的选项会报错,并定位到具体的选项。