curl 转代码工具

从终端、说明文档或浏览器的复制菜单中粘贴一条 curl 命令。您将得到使用 requests 库发出同样请求的 Python 代码,以及每个选项转换结果的列表。

免费 在浏览器中运行 核对于2026年11月10日星期二

一条命令。用反斜杠写出的引号和换行,会按 shell 的方式读取。请勿粘贴您想保密的有效密码或令牌。

结果

Python 代码 — 复制到脚本中。需要已安装 requests 库。
Python 代码
JavaScript fetch 代码

转换过程

此工具在您的浏览器中运行。您输入的内容不会发送给我们。

使用方法

  1. 把一条 curl 命令粘贴到“curl 命令”中。包含空格的值两侧的引号须保留。
  2. 阅读“转换过程”,逐项核对请求方法、查询字符串、请求体和请求头。
  3. 把“Python 代码”复制到已安装 requests 库的脚本中,或把“JavaScript fetch 代码”复制到页面中。
  4. 若出现注释或错误,请先改正命令,然后重新复制代码。

本工具读取哪些 curl 选项

本工具读取大多数请求所用的选项。每个选项都以已知的方式改变 Python 调用;任何其他选项都会使转换停止并给出提示,因此不会做任何猜测。

  • -X 与 --request 设置请求方法,按写出的方法使用。说明文档称它只改变发送的单词。
  • -H 与 --header 添加请求头。形如 X-Flag; 的行会发送空值;冒号后为空的 -H 则会删除某个请求头。
  • -d、--data、--data-raw 和 --data-binary 设置请求体。多个 -d 的值用 & 连接。配合 -G 时,它们改为查询字符串。
  • -G 与 --get、-I 与 --head、-L 与 --location 会改变请求方法或重定向处理。
  • -u 与 --user、-A 与 --user-agent、-b 与 --cookie 分别设置认证元组、User-Agent 请求头和 Cookie 请求头。
  • --json 把该值作为请求体发送,并设置 JSON 请求头;-H 可以覆盖这些请求头。

命令如何被读取

文本按 POSIX shell 的方式拆分为词。单引号保留每个字符。在双引号内,反斜杠只转义 $、反引号、双引号、反斜杠和换行。行末的反斜杠把该行与下一行连接。像 $HOME 这样的 shell 展开不会被执行,因此这类值会被报告为错误。

本工具不检查的内容

  • 它不发送请求,因此无法告诉您服务器是否接受该请求。
  • 浏览器会对 fetch 应用跨源规则。发往另一网站的请求可能在那里被拦截,即使同一命令在终端中可以运行。本工具不测试这一点。
  • 它不打开以 @ 命名的文件,也不读取 Cookie 文件。
  • 它只输出 Python。代码使用 requests 库,需要另行安装。

计算示例:带 JSON 请求体的 PUT

该命令向某个条目发送带 JSON 请求体的 PUT。请求方法来自 -X,请求头来自 -H,请求体来自 -d。Python 调用具有同样的三个部分,转换过程列表会说明哪个选项给出了哪个值。

curl 选项 Python 参数 代码中的值
-X PUT method 'PUT'
-H 'Content-Type: application/json' headers 'Content-Type': 'application/json'
-d '{"name": "Ada"}' data '{"name": "Ada"}'

常见问题

为什么代码使用 requests 而不是其他库?

requests 是本工具转换到的 Python 库,其 request 函数可在一次调用中接收请求方法、URL、请求头、数据和认证信息。同一调用适用于命令中给出的每种方法。

我没有写 -X,为什么请求却以 POST 发送?

curl 说明文档称 -d 使用 POST,而 --json 同样发送 POST。若要改变发送的方法,请写出所需的 -X,例如 -X PUT。

-G 在转换中起什么作用?

按说明文档,它把 -d 的数据移入 URL 作为查询字符串,并使请求成为 GET。于是 Python 调用含有完整的 URL,而没有请求体。

命令中的密码会被发送到别处吗?

不会。命令在您的浏览器中读取,既不会保存,也不会发送给我们。不过,请在您无法控制的页面上只使用测试用的密码或令牌。

输出为什么提到重定向?

curl 只有使用 -L 时才跟随重定向。requests 对所有方法默认跟随,fetch 也是如此,因此提示说明了如何与没有 -L 的 curl 调用保持一致。

工具能读取以 @ 命名的文件中的数据吗?

不能。本工具不打开文件,因此 @ 值会被报告为错误。请把数据本身粘贴到命令中,再进行转换。

资料来源

数据和文字最近核对于2026年11月10日星期二。

我们使用必要的 Cookie 来运行网站。经您同意后,Google 还会使用广告 Cookie 展示个性化广告。如果您拒绝,仍会看到广告,但广告不会个性化。