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 参数?
请求体是 JSON 时会怎么处理?
数据会上传吗?
转换后的代码能直接跑吗?
会不会真的发送这个请求?
中文参数会乱码吗?
相关工具
← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。