cURL 转代码工具 — 免费在线

粘贴 curl 命令,即可立即获得等效的 JavaScript fetch() 或 Python requests 代码。

结果仅供参考,可能包含错误。请自行核实重要信息。使用本工具风险自负。

这个工具能做什么

cURL 转代码工具会把一条 curl 命令改写成等效的 JavaScript fetch() 或 Python requests 请求代码。粘贴从 API 文档或浏览器网络面板(Copy as cURL,中文版浏览器中为“以 cURL 格式复制”)复制来的命令,选择目标语言,然后点击转换即可。请求方法、URL、请求头和请求体都会原样保留。

解析器支持 -X/--request、-H/--header、-d/--data/--data-raw/--data-binary 以及 -u/--user。与 curl 本身的行为一致:如果带有请求体却没有显式指定方法,请求会被视为 POST;-u user:pass 会转换成 Authorization: Basic 请求头。以反斜杠结尾的续行会先被合并,因此多行命令也能直接粘贴。其他参数(例如 --compressed 或 -s)会被忽略。

适用场景

  • 把 API 文档中的示例转换成前端或 Node 脚本中的代码。
  • 在 Python 测试中复现你在浏览器 DevTools 里抓到的请求。
  • 把终端里的临时实验迁移到定时任务或 notebook 中。
  • 向同事解释一行冗长的 curl 命令实际发送了什么。

示例

输入

curl -X POST https://api.example.com/users -H "Content-Type: application/json" -d '{"name":"Ana"}'

输出

fetch("https://api.example.com/users", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: "{\"name\":\"Ana\"}"
})
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error(err));

关于这个工具的问题

转换时会发送请求吗?

不会。命令只会被解析并改写成代码,其中的 URL 永远不会被调用。不过,仍建议先删除复制来的命令中的真实令牌,因为它们会进入你的剪贴板和代码中。

为什么请求体是字符串而不是对象?

curl 会原样发送 -d 的值,所以生成的代码也照此处理。如果你更想用对象构建请求体,可以在 JavaScript 中改用 JSON.stringify({...}),在 Python 中改用 json= 参数。

使用 -F 上传文件的命令怎么办?

multipart 表单参数(-F)不会被转换。这类请求请在 JavaScript 中用 FormData 构建,在 Python 中则使用 files= 参数。

生成的 Python 代码使用哪个库?

使用 requests,这是 Python 中最常用的 HTTP 库。可以通过 pip install requests 安装。生成的脚本会打印状态码和 JSON 响应。

这个工具免费吗?

是的,完全免费。无需注册或电子邮箱。结果直接显示在本页。

如何获取结果?

在此页面使用工具即可查看结果,无需通过电子邮件接收。