转换的是代码,不是发送流量
cURL 转 fetch、Python 与 Node.js 在线工具
一条 cURL 命令同时包含 HTTP 语义、Shell 引号规则和 cURL 自身行为。先把这三层拆开并规范化,再转换到另一种客户端,才能看清哪些内容可以对应,哪些只能留作提示。
先规范化请求,再选择目标语言
curl -X POST … -H … --data …引号、转义、变量与续行符
POST · URL · headers · auth · body可以跨客户端传递的请求含义
fetch · requests · Node.js · URLSession不同客户端的语法、接口与默认行为
Shell 引号本身就是输入语法的一部分
单引号
--data '{"name":"Mole"}'内容按字面处理,单引号不能直接出现在其中。
双引号
--header "X-Key: $TOKEN"变量和部分反斜杠转义可能由 Shell 解释。
续行符
curl https://api.test \ ↵ -H …反斜杠必须位于当前物理行的末尾。
ANSI-C 字符串
$'line one\nline two'Bash 风格的转义解析并不适用于所有 Shell。
HTTP 方法由参数推断,不能靠直觉猜测
显式 -X / --request使用指定方法-I / --headHEAD带请求体且没有 -G未覆盖时为 POST-G 与数据参数同时使用GET,数据放入查询参数没有方法提示GETRedaction pass
生成的代码进入仓库前,先检查凭证
- Authorization 与 Proxy-Authorization
- Cookie 值与 session 信息
- 请求头或查询参数中的 API key
- Basic Auth 用户信息
- 签名 URL、私有域名与业务标识
Authorization: Bearer sk_live_exampleAuthorization: Bearer ${TOKEN}保留 HTTP 含义,单独报告 cURL 专属行为
Carry across
- ✓HTTP 方法、URL 与查询参数
- ✓端到端请求头
- ✓认证意图
- ✓请求体内容与 Content-Type
- ✓显式提供的 Cookie
Report separately
- ○进度条与输出格式
- ○TLS 与客户端证书参数
- ○重定向和重试策略
- ○读取本地文件或数据流
- ○代理、域名解析和 Shell 环境
这个页面不会真正发送 HTTP 请求
转换过程不会进行 DNS 查询、建立 HTTP 连接、跟随重定向、交换 Cookie 或获取响应。生成的代码只是便于审阅的起点;检查视图会保留转换提示,运行前仍要核对目标客户端的默认行为和未覆盖参数。
cURL 转代码常见问题
- 可以粘贴浏览器 DevTools 的“Copy as cURL”吗?
- 可以。解析器支持常见的多行与引号形式,并会默认替换常见认证头、Cookie、API key 和 Basic Auth 信息,方便你在复制生成代码前检查凭证。
- 为什么生成代码里没有某个 cURL 参数?
- 有些参数控制 cURL 的输出、本地文件、DNS、TLS、代理、重定向或重试,而不是 HTTP 消息本身。先查看规范化请求和转换提示,不要假设不同客户端存在完全等价的选项。
- 把 cURL 转成代码会顺便测试 API 吗?
- 不会。本页只解析和生成代码,不会连接目标地址,因此也无法验证状态码、响应内容、认证是否有效或服务端行为。