cURL 转 Python (requests)

将 cURL 命令转换为 Python requests 代码片段,包含请求头、数据和请求方法

关键信息

分类
开发与 Web
输入类型
textarea, checkbox
输出类型
text
样本覆盖
4
支持 API
Yes

概览

本工具可快速将 cURL 命令行指令转换为标准的 Python requests 代码片段。它能自动解析 HTTP 方法、请求头、查询参数以及请求体数据,并支持格式化请求体和添加代码注释,帮助开发者快速在 Python 脚本中复现网络请求。

适用场景

  • 从浏览器开发者工具(DevTools)复制了 cURL 请求,需要将其快速转化为 Python 爬虫或脚本代码时。
  • 在阅读第三方 API 文档时,需要将官方提供的 cURL 示例代码转换为 Python requests 调用代码。
  • 调试接口时,需要将复杂的命令行 cURL 请求快速整理为可维护的 Python 自动化测试脚本。

工作原理

  • 在输入框中粘贴您需要转换的 cURL 命令行指令。
  • 根据需要勾选“格式化请求体”以美化 JSON 数据,或勾选“包含注释”以生成代码说明。
  • 工具将自动解析 cURL 参数,并即时生成对应的 Python requests 代码片段供您复制使用。

使用场景

API 接口快速对接:将 API 文档中的 cURL 示例一键转换为 Python 代码,加速开发对接流程。
网络爬虫脚本编写:从浏览器复制网络请求的 cURL 格式,直接生成 Python 爬虫请求代码,保留所有 Cookie 和 Headers。
接口自动化测试:将手动测试的 cURL 命令批量转换为 Python requests 测试脚本,便于集成到自动化测试流程中。

用户案例

1. 转换带 JSON 载荷的 POST 请求

后端开发人员
背景原因
需要对接一个第三方支付 API,文档只提供了 cURL 格式的创建订单接口示例。
解决问题
手动将 cURL 中的 Headers 和 JSON 字符串拼装成 Python requests 代码既繁琐又容易出错。
如何使用
将 cURL 命令粘贴到输入框中,保持“格式化请求体”和“包含注释”勾选,点击转换。
示例配置
curlCommand: curl -X POST https://api.example.com/v1/orders -H "Content-Type: application/json" -H "Authorization: Bearer token123" -d '{"amount": 100, "currency": "USD"}'
prettyBody: true
includeComments: true
效果
成功生成包含 headers 字典和格式化 json 字典的 Python requests.post 代码,可直接运行。

2. 转换带 Cookie 的 GET 爬虫请求

数据分析师
背景原因
需要从某个需要登录的网页抓取数据,已在浏览器控制台复制了该请求的 cURL (bash) 格式。
解决问题
请求中包含复杂的 Cookie 和 User-Agent,手动提取并写入 Python 脚本非常耗时。
如何使用
将包含 Cookie 的 cURL 命令粘贴至工具中,关闭“包含注释”以保持代码简洁,然后复制生成的 Python 代码。
示例配置
curlCommand: curl https://example.com/data -H "Cookie: session_id=abc123xyz" -H "User-Agent: Mozilla/5.0"
prettyBody: true
includeComments: false
效果
获得一段干净的 Python 代码,其中 headers 字典已自动包含 Cookie 和 User-Agent,直接运行即可成功获取登录后的数据。

用 Samples 测试

development

相关专题

常见问题

这个工具支持哪些 HTTP 请求方法?

支持 GET、POST、PUT、DELETE、PATCH 等常见的 HTTP 请求方法,工具会自动解析 -X 或 --request 参数。

复杂的 JSON 请求体和 Form 表单数据能正确转换吗?

可以。工具会自动解析 -d、--data 或 --data-raw 中的数据,并将其转换为 Python 字典格式传递给 json 或 data 参数。

转换后的代码需要安装额外的 Python 库吗?

需要安装 requests 库。您可以通过运行 pip install requests 来安装它。

“格式化请求体”选项有什么作用?

勾选后,工具会将 cURL 中压缩在一行的 JSON 数据格式化为带缩进的多行 Python 字典,提高代码可读性。

敏感的请求头(如 Authorization 或 Cookie)会被保留吗?

会的。所有通过 -H 或 --header 传入的请求头都会被完整保留并转换为 Python headers 字典。

API 文档

请求端点

POST /zh/api/tools/curl-to-python

请求参数

参数名 类型 必填 描述
curlCommand textarea -
prettyBody checkbox -
includeComments checkbox -

响应格式

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
文本: 文本

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-curl-to-python": {
      "name": "curl-to-python",
      "description": "将 cURL 命令转换为 Python requests 代码片段,包含请求头、数据和请求方法",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=curl-to-python",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]