将 curl 转换为 Python
curl2code 使用流行的 requests 库立即将任何 curl 命令转换为整洁的 Python 代码。转换过程通过 WebAssembly 完全在您的浏览器中运行——您的数据永远不会离开您的设备。如果您在前端使用 TypeScript,请查看我们的 curl 转 TypeScript 转换器。对于服务器端 JavaScript,请参阅 curl 转 Node.js。您可以在下方找到涵盖最常见 HTTP 场景的实用示例。
如何从浏览器复制 curl
- 1
打开开发者工具
按 F12 或 Ctrl+Shift+I 打开浏览器开发者工具。
- 2
进入 Network 标签页
点击 Network (网络) 标签页,并执行触发 HTTP 请求的操作。
- 3
复制为 cURL
右键点击请求 → Copy (复制) → Copy as cURL (复制为 cURL)。然后将其粘贴到上方。
常见问题解答
什么是 Python Requests?
Python Requests 是最受欢迎的 Python HTTP 客户端库,在 GitHub 上拥有超过 50,000 颗星。它为发起 HTTP 请求、处理会话、Cookie 和身份验证提供了一个优雅且符合 Python 习惯的 API。它开箱即用支持 JSON 解析、连接池和自动内容解码。使用 pip install requests 进行安装。它是 curl2code 进行 Python 转换时使用的默认库。
Requests 与 http.client —— 我应该使用哪一个?
对于大多数用例,推荐使用 Requests,因为它具有简单的 API、自动 JSON 解析和内置会话支持。http.client 是 Python 标准库的一部分,无需安装,适用于极简环境。关于其他语言中类似的简洁方案,请参阅我们的 curl 转 Ruby 转换器 或 curl 转 Go 转换器。
如何在 Python Requests 中处理身份验证?
对于 Bearer 认证,请传递带有令牌的 Authorization 请求头;对于 Basic 认证,请使用 requests.auth.HTTPBasicAuth(user, pass)。curl2code 会自动检测身份验证模式,包括 -u user:pass 和 -H 'Authorization: Bearer ...'。
如何使用 Python 发送多部分表单数据(multipart form data)?
使用 files 参数:requests.post(url, files={ 'file': open('doc.pdf', 'rb') })。对于额外的表单字段,可以同时使用 data。curl2code 会自动处理 -F 标志。
如何处理错误和重试?
使用 response.raise_for_status() 对 4xx/5xx 状态码抛出异常。将其包装在 try/except 中并捕获 requests.exceptions.RequestException。对于重试,请配合 Session 适配器使用 urllib3.util.Retry。
如何在 Python 中发起异步 HTTP 请求?
requests 是同步的。对于异步 HTTP,请使用 aiohttp 或 httpx(后者提供同步和异步 API,且接口与 requests 兼容)。在高并发场景下,异步客户端能提供显著更高的吞吐量。
如何设置超时和连接池?
务必设置超时:requests.get(url, timeout=(3.05, 27))。对于连接池,请使用 requests.Session(),它可以复用 TCP 连接。curl 的 --connect-timeout 和 --max-time 对应这些设置。
如何使用 Python Requests 配置代理?
传递 proxies 字典:{ 'https': 'http://proxy:8080' }。对于 SOCKS 代理,请安装 requests[socks]。它也遵循 HTTP_PROXY / HTTPS_PROXY 环境变量。curl2code 会自动转换 -x 和 --proxy。
如何在 Python 中发送带有 JSON 正文的 POST 请求?
使用 curl2code 将类似于 curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL 的 curl POST 命令转换为 Python。生成的代码使用 requests.post(url, json={'key': 'value'})。curl2code 会自动检测带有 JSON 内容的 -d/--data 标志,并在 Requests 代码中设置相应的 Content-Type 请求头。
如何在 Python 中添加 Bearer 令牌授权?
将 curl -H "Authorization: Bearer YOUR_TOKEN" URL 传递给 curl2code,它会生成带有认证请求头的 Requests 代码:headers={'Authorization': 'Bearer YOUR_TOKEN'}。curl2code 会从 -H "Authorization: Bearer ..." 和 --oauth2-bearer 标志中检测 Bearer 令牌。对于 Basic auth,请使用 -u user:pass。
如何在 Python 中设置 Content-Type 请求头?
curl2code 将 curl -H "Content-Type: application/json" URL 转换为带有正确请求头的 Requests 代码:headers={'Content-Type': 'application/json'}。对于 -d 数据,curl 默认使用 application/x-www-form-urlencoded;对于 -F 表单上传,它使用 multipart/form-data。curl2code 会将每一项映射到正确的 Requests API。
如何将 curl 命令转换为 Python 代码?
将您的 curl 命令粘贴到 curl2code 中并选择 Python。该工具会解析所有标志 —— -X(方法)、-H(请求头)、-d(数据)、-u(认证)、-F(表单)、cookies 等 —— 并生成整洁的 Python Requests 代码。转换通过 WebAssembly 在您的浏览器本地运行,因此您的 API 密钥和数据保持私密。您还可以选择 http.client 作为替代库。