cURL 转代码

把浏览器开发者工具里「Copy as cURL」复制的命令,直接转成 Python、Go、JavaScript、Java、Rust 等 49 种语言或格式的请求代码。多行命令、反斜杠续行、文件上传、Cookie 和各种 curl 参数都能吃,转换在浏览器本地完成,命令不会上传到任何服务器。

工具界面在页面加载完成后显示在本段下方,可以直接使用。所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。

cURL 转代码能做什么

把浏览器开发者工具里「Copy as cURL」复制的命令,直接转成 Python、Go、JavaScript、Java、Rust 等 49 种语言或格式的请求代码。多行命令、反斜杠续行、文件上传、Cookie 和各种 curl 参数都能吃,转换在浏览器本地完成,命令不会上传到任何服务器。

怎么用cURL 转代码

  1. 在浏览器开发者工具的网络面板里右键某个请求,选「Copy as cURL」,Windows 上选 Copy as cURL (bash) 那个
  2. 把整段命令粘进左边输入框,多行和行尾的反斜杠都不用处理
  3. 右边选目标语言。常用的 10 种在下拉下面平铺成按钮,其余按语言族分组,也能直接在搜索框里输语言名
  4. 点开「解析出的请求」核对方法、地址、查询参数、请求头和请求体类型,确认工具理解的就是你要的那个请求
  5. 点输出框右上角的复制按钮取走代码,或者下载成对应扩展名的文件

示例

输入:

curl 'https://api.example.com/v1/orders?status=paid&page=1' -H 'x-api-key: demo'

输出:

import requests

headers = {
    'x-api-key': 'demo',
}

params = {
    'status': 'paid',
    'page': '1',
}

response = requests.get('https://api.example.com/v1/orders', params=params, headers=headers)

查询参数被拆成 params,请求头单独成段;换成 POST 时 --data-raw 的内容会被拆成 json_data 或 data

使用技巧与注意点

常见问题

转换过程会上传我的 curl 命令吗?

不会。解析用的是编译成 WebAssembly 的 shell 语法树,第一次打开要下载约 1.5 MB 的语法文件,之后走浏览器缓存,命令内容不离开这台电脑。

Windows 的 cmd 风格 curl 能转吗?

单行写法可以。但 cmd 用 ^ 续行、PowerShell 用反引号续行,这两种续行符不认,请粘 bash 风格(行尾反斜杠)或者把换行去掉写成一行。

为什么没有 GraphQL 和 gRPC 选项?

这里转的是 HTTP 请求本身。GraphQL 就是一条 POST 到 /graphql 的请求,用任意语言选项都能转出来;gRPC 不是 HTTP 请求文本,转不了。

能反向把 Python 代码变成 curl 吗?

不能。反向解析各语言代码要逐语言写语法树解析,容错极差。站内的 API 测试器支持把 curl、PowerShell、fetch 和 Java Map 解析成请求并直接发出去,需要反向时用它。

同一个 curl 转出来,各语言的方法名大小写为什么不一样?

curl 自己不区分大小写,各语言客户端库有各自习惯:Python requests 用小写的 post,Java 用枚举,Go 用 http.MethodPost。生成结果按目标语言的习惯写,语义一致。

相关工具

同类开发工具

查看全部开发工具