curl 转 Python 转换器

在你的浏览器中即时将 curl 命令转换为 Python requests 代码。命令留在你的设备上。

你的 curl 命令在浏览器本地转换为 Python,绝不会上传,但请避免将真实的生产令牌或凭据粘贴到任何工具中。

想发送该请求?试试 API 请求客户端。

关于 curl 转 Python

这款 curl 转 python 转换器会接收你从终端、浏览器 DevTools 或 API 文档复制的 curl 命令,并将其改写为一份基于 requests 库的整洁 Python 脚本。作为 curl 转 requests 转换器,它会读取 -X、-H、-d、--data-raw、--json、-u、-b 和 -G 等标志,选出正确的 HTTP 方法,并为有效的 JSON 请求体选择 json=、为表单负载选择 data=,让请求第一次运行就能成功。当你要把一个快速 API 测试迁移到 Python 脚本、notebook 或后端集成中,而又不想手动重新输入请求头时,它非常顺手。整个转换都在你的浏览器中运行,因此 curl 命令以及其中的任何令牌都在你的设备上本地处理,绝不会上传。

功能特性

如何使用 curl 转 Python

  1. 将你的 curl 命令粘贴到 cURL 命令框中。
  2. 在输出面板中查看生成的 Python requests 脚本。
  3. 查看警告横幅,了解被调整或跳过的标志。
  4. 点击「复制」,或将脚本下载为 request.py。

示例

输入

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

输出

import requests

url = "https://api.example.com/users"
headers = {
    "Content-Type": "application/json",
}
payload = {
    "name": "Ada"
}

response = requests.request("POST", url, headers=headers, json=payload)
print(response.status_code)
print(response.text)

JSON 请求体通过 json= 传入,让 requests 替你序列化。

常见错误与故障排除

常见问题

如何将 curl 命令转换为 Python?
将 curl 命令粘贴到输入框中,转换器会在右侧呈现一份 Python requests 脚本,你可以复制它或下载为 request.py。
它生成的是 requests 库还是 urllib 的代码?
它面向流行的 requests 库,并生成一个 requests.request(method, url, ...) 调用。运行脚本前请用 pip install requests 安装它。
转换器何时使用 json= 而非 data=?
当请求体是有效 JSON(用 --json 或 JSON 的 Content-Type 发送)时,它使用 json= 让 requests 序列化字典;对于表单编码或原始字符串请求体,则使用 data=。
curl -u 的 Basic 认证值在 Python 输出中如何处理?
-u 或 --user 的值会被 base64 编码到 headers 字典里的 Authorization: Basic 头中,与 curl 在网络上发送的内容一致。
我把 curl 转换为 Python 时命令会被上传吗?
不会。curl 转 python 的转换完全在你的浏览器中运行,因此命令及其中的任何凭据都留在你的设备上。

相关工具

全部 ArrayKit 工具