cURL 转代码

把 curl 命令转成 JS fetch 与 Python 代码。

fetch("https://api.example.com/users", {
  method: 'POST',
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer TOKEN"
  },
  body: JSON.stringify({"name":"张三","age":28})
})
  .then((res) => res.json())
  .then((data) => console.log(data))
import requests

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer TOKEN"
}
json_data = {
    "name": "张三",
    "age": 28
}

response = requests.request("POST", "https://api.example.com/users", headers=headers, json=json_data)
print(response.status_code, response.text)

什么是cURL 转代码?

cURL 转代码是一个开发者工具,把从浏览器开发者工具、Postman 或后端日志里复制出来的 curl 命令,自动解析并转换成对应编程语言的网络请求代码,目前常见输出目标是 JavaScript 的 fetch 写法和 Python 的 requests 库写法。 它本质上是对 curl 命令行参数(-X、-H、-d/--data、-F、-u、--cookie 等)做文本解析,再按目标语言语法拼装出等价请求代码,整个过程在浏览器本地完成,不会真的发出这个请求,也不会把粘贴的内容发送到服务器。

为什么使用cURL 转代码?

在联调后端接口时,团队常用 curl 命令记录一次请求(比如从抓包工具、API 文档或 Swagger 导出),但真正写代码时需要手动把方法、请求头、请求体一一翻译成 fetch 或 requests 调用,容易出错也很繁琐。这个工具能把这一步自动化,适合前端联调、写自动化脚本、写接口测试用例的场景。 和直接照抄 curl 命令相比,它省去了手动处理请求头大小写、JSON 转义、multipart 表单字段拼装等细节;和某些 IDE 插件相比,不需要额外安装,打开网页粘贴即可用。

使用示例

简单 GET 请求转 fetch

输入 curl https://api.example.com/users?id=1 -H "Authorization: Bearer abc123",输出: fetch("https://api.example.com/users?id=1", { headers: { "Authorization": "Bearer abc123" } }) 说明:无 -X 时 curl 默认是 GET,请求头会被原样映射进 headers 对象。

带 JSON body 的 POST 转 Python requests

输入 curl -X POST https://api.example.com/login -H "Content-Type: application/json" -d '{"user":"tom","pwd":"123456"}',输出: import requests requests.post("https://api.example.com/login", headers={"Content-Type": "application/json"}, json={"user": "tom", "pwd": "123456"}) 说明:识别到 Content-Type 为 json 且 -d 内容是合法 JSON 时,Python 端会优先用 json= 参数而不是 data=,语义更准确。

表单文件上传转换

输入带 -F "[email protected]" 的 curl 命令,工具会识别该字段是文件上传(multipart/form-data),生成对应的 FormData(JS)或 files= 参数(Python)示例代码,但不会真的读取本地文件内容。

使用提示

如果 curl 命令里带 Cookie 或 Authorization,转换出的代码会原样包含这些敏感信息,粘贴分享代码前记得脱敏;复杂的 curl(比如带 --resolve、--http2 等高级网络选项)目前不保证能生成对应代码,遇到无法识别的参数会在输出里注明未转换。

常见问题

支持哪些 curl 参数?
支持 -X/--request 指定方法、-H/--header 添加请求头(可多个)、-d/--data/--data-raw/--data-binary 设置请求体,以及 URL 自动识别,未知参数会被安全忽略。
请求体是 JSON 时会怎么处理?
若 -d 的内容能解析为合法 JSON,会在 JS 中用 JSON.stringify 包裹、在 Python 中用 json= 参数发送;否则按普通字符串/表单数据处理。
数据会上传吗?
不会。curl 命令解析与代码生成全部在浏览器本地完成。
转换后的代码能直接跑吗?
大部分情况下可以,但工具只做语法转换,不会补充你项目里的鉴权逻辑、错误处理、环境变量等,建议转换后再按项目规范调整。
会不会真的发送这个请求?
不会,转换全程是纯文本解析和代码拼装,本工具不会替你发起网络请求。
中文参数会乱码吗?
不会,工具按 UTF-8 处理文本,中文 query 参数或 JSON 字段都能正常转换,只是浏览器地址栏通常会显示为百分号编码。

相关工具

← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。