cURL转代码 - 在线将curl转换为9种语言代码(Fetch/Python/Go/Java等)

1400 字
7 分钟
cURL转代码 - 在线将curl转换为9种语言代码(Fetch/Python/Go/Java等)

🌟 为什么你需要”cURL 转代码”#

拿到一条 cURL 命令,可能是同事发的、浏览器开发者工具复制的、接口文档里贴的。你很想在自己的项目里复现这个请求,但项目用的是 Python、Go、Java,不是 bash。手工翻译一条长 curl,要处理引号、转义、Header、Cookie、Auth,既慢又容易抄错。

星点 cURL 转代码 解决的就是这个:把 cURL 命令解析成结构化请求,再生成 JavaScript Fetch、Axios、Python Requests、Go、Java、PHP、C#、Rust、Ruby 共 9 种语言的等价代码。生成的是”可直接运行的最小等价实现”,语言间能力有差异时,无法等价表达的部分会以注释说明,不会强行转换误导你。


🚀 怎么用(详细步骤)#

  1. 打开 cURL 转代码;
  2. 粘贴 cURL 命令到输入框;
  3. 选择目标语言;
  4. 下方生成代码,点击「复制代码」使用。

从哪拿到 cURL 命令#

最常用的来源是浏览器开发者工具:打开 Network 面板,右键某个请求,选择「复制 → 以 cURL 格式复制」,即可得到一条完整命令,再粘贴进来转代码。


🌐 9 种语言代码对比#

下面是同一条请求(GET https://api.example.com/users?page=2,带一个 Authorization 头)在 9 种语言里的等价形态对比,帮你直观感受工具的输出风格:

语言关键写法适合谁
JavaScript Fetchfetch(url, { headers })前端/Node 开发者
Axiosaxios.get(url, { headers })用 Axios 的项目
Python Requestsrequests.get(url, headers=...)Python 后端/脚本
Gohttp.NewRequest + Client.DoGo 后端
JavaHttpClient / HttpURLConnectionJava 后端
PHPcurl_init 或 file_get_contentsPHP 后端
C#HttpClient.GetAsync.NET 开发者
Rustreqwest / ureqRust 开发者
RubyNet::HTTP / FaradayRuby 开发者

每种语言都按各自的习惯写法组织,粘贴到项目后按需补充导入(import)即可运行。


💡 三个实战示例#

示例一:带 JSON Body 的 POST 请求#

输入:

curl -X POST https://api.example.com/items \
-H "Content-Type: application/json" \
-d '{"name":"test","qty":1}'

选择 Python,会生成使用 requests.post、json= 参数、headers 字典的等价代码;选择 JavaScript,会生成 fetch + JSON.stringify 的写法。

示例二:带 Basic Auth 的请求#

输入:

curl -u user:pass https://api.example.com/private

工具会正确识别 -u 参数,转换为各语言对应的 Basic Auth 写法(如 Python 的 requests.auth.HTTPBasicAuth、Fetch 的 Authorization: Basic ... 头)。

输入:

curl -b "session=abc123" https://api.example.com/me

工具会把 -b 转成目标语言里携带 Cookie 的等价方式。如果目标语言对 Cookie 的表达能力有限(比如需要额外的 Cookie 容器),工具会以注释说明,而不是给你一段跑不通的代码。


💻 各语言代码长什么样#

下面用一个带 JSON Body 的 POST 请求为例,展示工具生成的关键片段,帮助你了解每种语言的输出风格:

输入:

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

各语言核心写法如下。

JavaScript Fetch#

fetch('https://api.example.com/items', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ name: 'test' })
})

Python Requests#

import requests
resp = requests.post(
'https://api.example.com/items',
headers={'Content-Type': 'application/json'},
json={'name': 'test'},
)

Go#

req, _ := http.NewRequest("POST", "https://api.example.com/items", body)
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)

PHP#

$ch = curl_init('https://api.example.com/items');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"test"}');

注意这些是示意,工具实际生成的是各语言按自身习惯组织、可直接运行的等价实现,你只需按需补充 import 语句并替换示例中的 URL 与数据。

⚠️ 转换边界:无法等价时它会说实话#

语言之间的能力有差异,这是 cURL 转代码最容易被忽略的坑。星点工具的处理方式是诚实:

  • 能等价转换的(Cookie、Basic Auth、常见 Header、JSON Body)→ 直接生成正确代码;
  • 无法等价表达的(某些语言对 gzip、多部分表单、Cookie 容器的支持差异)→ 以注释明确说明,绝不强行转换。

这比”什么都给你转、转出来却跑不通”要可靠得多。


🔄 与其他工具的联动#

  • 粘贴 cURL 后想先看清它到底做了什么,用 cURL 解析器 先拆解成 Method、Headers、Body;
  • 反过来,在 HTTP 请求测试器 里构造好请求后,可以「复制 cURL」再丢进来转代码;
  • 需要从零手写请求时,用 HTTP Header 生成器 先生成标准 Header 文本。

🔧 常见问题(FAQ)#

支持哪些语言? 支持 JavaScript Fetch、JavaScript Axios、Python Requests、Go、Java、PHP、C#、Rust、Ruby 共 9 种。
生成的代码能直接运行吗? 生成的是最小等价实现,各语言按各自习惯写法组织,粘贴到项目后按需补充导入即可运行。
部分能力转不了怎么办? 语言间能力有差异(如 Cookie、gzip、多部分表单),无法等价表达时工具会以注释说明,不会强行转换。
cURL 里的引号会影响转换吗? 不会。工具会正确解析单双引号、转义与续行反斜杠,不会因为引号导致字段错乱。
能从浏览器直接复制请求转代码吗? 可以。浏览器开发者工具里「复制 → 以 cURL 格式复制」得到的命令可直接粘贴进来转换。
生成代码后还要改什么? 一般只需补充语言对应的 import 语句,以及根据项目替换掉示例里的 URL、Token 等占位值。

💬 总结#

cURL 转代码的价值在于”把命令翻译成你项目能直接用的语言”。需要先拆解理解时用 cURL 解析器,需要反向从请求生成 curl 时用 HTTP 请求转 cURL。

立即体验:访问 cURL 转代码

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

相关文章 智能推荐
1
cURL 转代码:Fetch/Axios/Python/Go/Java 等 9 种语言对比
HTTP工具 cURL 转代码 9 种语言横向对比:JavaScript Fetch、Axios、Python Requests、Go、Java、PHP、C#、Rust、Ruby 的完整代码示例、能力差异(Cookie/Basic Auth/表单)与选型建议逐一拆解,附语言对照表与转换边界说明,开发效率工具。
2
HTTP请求转cURL - 在线生成curl命令(支持7种方法与正确转义)
HTTP工具 在线 HTTP 请求转 cURL 工具:输入 Method、URL、Headers、Body,一键生成可复现的 curl 命令,正确转义引号与特殊字符,支持与请求测试器联动。curl 命令生成必备。
3
cURL解析器 - 在线解析curl命令为结构化字段(可回填请求测试器)
HTTP工具 在线 cURL 解析器:把浏览器「Copy as cURL」复制的命令解析为 Method、URL、Query、Headers、Cookies、Body、Auth 等结构化字段,可回填请求测试器或转代码。支持 -X/-H/-d/-b/-u 等常用参数解析。
4
HTTP请求测试器 - 在线API接口调试工具(支持7种方法与复制cURL)
HTTP工具 在线 HTTP 请求测试器:支持 GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS 七种方法,自定义 Query、Headers、Body(JSON/Form/Raw)与 Auth(Bearer/Basic),一键查看状态码、响应头、响应体、耗时与大小,并复制为 cURL / Fetch。
5
Cookie解析器 - 在线解析cookie字符串为键值对
HTTP工具 在线 Cookie 解析器:把 document.cookie 或请求头里的 Cookie 字符串解析为 Name/Value 键值对表格,支持复制与数量统计,空值标注。快速看清携带了哪些 Cookie。
随机文章 随机推荐
公告
🎉 已升级 2.0 版本,欢迎使用。
分类
标签
站点统计
文章
197
分类
24
标签
747
总字数
334,099
运行时长
0 天
最后活动
0 天前

目录