网络

cURL 转换器

贴一条 cURL 命令,立刻读回成 fetch、axios、Python requests、Go、Rust、PHP、Java 等三十多种客户端与语言的可用代码。方法、带查询串的完整 URL、请求头、Cookie、Basic 认证,以及 JSON、表单或原始请求体,都会原样带过去,再按各语言语法高亮、一键复制。转换引擎按需加载、带进度条,加载完成后全程在浏览器内运行:命令和其中携带的 Token 不会离开当前页面。

  • 一条 cURL 命令转 fetch、axios、Python、Go、Rust、PHP、Java 等 30 多种目标
  • 方法、URL、查询串、请求头、Cookie、Basic 认证与请求体全部完整往返
  • 按各语言语法高亮,一键复制即可粘进编辑器
  • 引擎按需加载,之后全程在浏览器内运行——命令和 Token 不出本页
工具/cURL 转换器
8%
正在加载转换引擎
8%
cURL 解析器只需下载一次,本次访问期间会被缓存。
示例

功能简介

把从 DevTools、接口文档或同事那里拿到的 cURL 命令贴进来,按项目实际使用的语言读回成代码——一个请求头都不用重新敲。

  1. 01

    一条命令,三十多种目标

    浏览器 fetch、jQuery $.ajax 与 XHR;Node 的 fetch、axios、got、ky;Python 的 requests 与 http.client;Go、Rust、C#、Swift、Dart、Objective-C;PHP cURL 与 Guzzle;Java OkHttp 与 Kotlin;以及 Ruby、Elixir、R、MATLAB、Perl、Lua、PowerShell、Ansible——每一种都能直接粘贴。

  2. 02

    整个请求都带过去

    方法(-X)、带查询串的完整 URL、每个 -H 请求头、来自 -b 或 Cookie 头的 Cookie、来自 -u 的 Basic 认证,以及来自 --data、--data-raw、--data-urlencode 或 -F 表单字段的请求体,都会在目标客户端里重建出来。

  3. 03

    请求体保持原本结构

    JSON 的 --data-raw 会落成真正的对象字面量或 JSON.stringify 调用,表单字段会变成目标语言的表单编码,原始文本保持原样——而不是甩给你一个还要手动再解析的扁平字符串。

  4. 04

    高亮、可复制的输出

    每种目标都按对应语言做语法高亮、跟随你的浅色或深色主题,并配一键复制按钮,代码片段可直接落进编辑器。

  5. 05

    换技术栈不必重新粘贴

    粘一次,就能在下拉里 fetch、Python、Go 来回切换,先对比同一请求在各生态里的写法,再决定用哪一种。

  6. 06

    按需加载引擎,浏览器内转换

    cURL 解析器是个不小的包,因此带进度条按需加载,并在本次访问期间缓存。之后解析与代码生成都在本页完成——没有任何请求把你的命令、请求头或 Token 带出浏览器。

如何使用

一个输入框、一个下拉——粘贴、选择、复制。转换引擎会在你首次打开页面时自行加载。

  1. 01

    复制一条 cURL 命令:在 Chrome DevTools 里右键某个请求选择 Copy → Copy as cURL,或从接口文档、同事处拿一条。

  2. 02

    把它贴到左侧的 cURL 输入框,带反斜杠续行的多行命令也没问题。

  3. 03

    在工具底部的下拉里选择目标语言或客户端。

  4. 04

    查看右侧高亮后的结果,用顶部的复制按钮放进你的编辑器。

  5. 05

    在下拉里切换目标,对比同一请求在不同技术栈里的写法——无需重新粘贴。

功能说明

把一条临时的 cURL 命令变成项目里的真实代码,不再需要手动重写,也不会再带来重写常有的笔误。

  • 直接从 cURL 参数中还原方法、URL、查询参数、请求头、Cookie、Basic 认证与请求体。
  • 支持带反斜杠续行的多行命令,以及单引号、双引号和 $'…' 这类 shell 字符串。
  • JSON 请求体能完整往返,并在目标片段里以格式化形式呈现,而不是一坨不透明的字符串。
  • 目标覆盖浏览器(fetch、jQuery、XHR)、Node(fetch、axios、got、ky)以及二十多种其他语言和客户端。
  • 输出按各语言语法高亮,并跟随你的浅色或深色主题,便于阅读 diff 与截图。
  • 切换目标时会基于已解析的命令即时重新生成,不再多走一趟。
  • 解析器包带进度条按需加载并缓存,在你真正需要前页面始终保持轻量。

适合哪些场景

日常那些「手上有 cURL,需要代码」的时刻——每一个都不再靠手动改写,也不再是细微复制错误的来源。

  1. 把 DevTools 请求搬进代码

    在网络面板里 Copy as cURL,转成 fetch 或 axios,连同请求头和请求体一起,直接粘进正在写的前端里。

  2. 把接口文档变成可用调用

    多数接口文档以 cURL 给示例,转成 Python requests 或 Go,从一条与文档头部和载荷一致的调用起步。

  3. 在技术栈之间移植请求

    后端示例是 PHP cURL,而你的服务是 Rust 或 Java——转换一次,方法、认证、请求头与请求体都保持一致,不用靠肉眼翻译。

  4. 快速搭一个回归用例

    把抓到的请求转成 Python 或 Node 作为集成测试的起点,再换上测试凭证、围绕响应补上断言。

  5. 选型前对比客户端库

    在 fetch、got、ky 之间,或在 requests 与 http.client 之间切换同一请求,看哪种 API 写法更契合团队和代码风格。

  6. 交付可直接运行的片段

    把可直接运行的 fetch 或 PowerShell 片段交给同事,而不是一条还要他们自己翻译的原始 cURL——少很多「这在 X 里怎么发」的问题。

延伸阅读

当你需要把请求拆开来读、而不是转换它时,打开 HTTP 报文解析 可以把原始 HTTP、cURL 或 fetch 拆成请求头、Cookie 与请求体的结构化视图。URL 里有缠在一起的查询串或重定向链时, URL 工具 会逐段拆解并清除跟踪参数。当 Authorization 头或 Cookie 里带着 JWT 时, JWT 检查器 能解码载荷并验证签名,让你不会基于一个未经验证的 Token 行动。

使用建议

转换忠实于命令本身,但片段终究要进项目——落地前先过一遍。

  • 尽量用 DevTools「Copy as cURL」的多行命令,每个 -H 请求头和参数粘贴时都不容易丢。
  • 在分享或提交转换后的代码前,先删除或替换 Authorization 头、会话 Cookie 与 API Token。
  • 把密钥移到生成片段里的环境变量或配置加载中,不要让它内联留在代码里。
  • 按项目补上超时、重试与错误处理——输出只复现请求本身,不含围绕它的生产级加固。
  • 在片段进入真实代码库前,把示例域名与占位 ID 换成真实配置。
  • 把引用本地文件的请求体(--data @payload.json)当成占位,在目标语言里接好真正的文件读取。
  • 不要把生产 Token 留在任何在线工具里,包括本工具,用完请清空输入。

边界与注意事项

清楚边界,就不会把它当成 HTTP 客户端或调试器来用。

  • 不会发出任何请求——工具只翻译命令文本,不能真正发起调用、跟随重定向或显示响应。
  • 极少见或经过 shell 展开的参数(进程替换、管道喂 --data、通配上传)可能无法干净地映射到每一种目标语言。
  • 生成的代码是忠实的起点,但并非生产就绪;认证刷新、分页、重试与错误处理仍需你来补。
  • 以文件路径引用的二进制上传(例如 --data @file 或 -F file=@photo.png)无法内联,因为这里拿不到该文件。
  • 输入只接受 cURL。要解析原始 HTTP 报文与 fetch 片段,或以结构化视图查看请求头和 Cookie,请用 HTTP 报文解析。

常见问题

常见问题涵盖支持的目标、保留的内容、按需加载引擎、准确性,以及数据存放在哪里。

可以转换成哪些语言和客户端?

大约三十种目标,包括浏览器 fetch、jQuery、XHR;Node 的 fetch、axios、got、ky;Python 的 requests 与 http.client;Go、Rust、C#、Swift、Dart、Objective-C;PHP cURL 与 Guzzle;Java OkHttp 与 Kotlin;以及 Ruby、Elixir、R、MATLAB、Perl、Lua、PowerShell 和 Ansible。

请求的哪些部分会被保留?

方法、带查询串的完整 URL、请求头、Cookie、Basic 认证,以及请求体(JSON、form-urlencoded 或原始内容),都会被带到所选目标里。来自 -F 的 multipart 表单字段,在目标客户端支持时也会被映射过去。

为什么打开页面时会有一条加载进度条?

cURL 解析器是个不小的包,因此带进度条按需下载,而不是随页面其余部分一起打包。它会在本次访问期间缓存,所以之后的转换都是即时的。

生成的代码能直接运行吗?

它是一个忠实保留请求的起点。上线前请补上错误处理、超时与环境变量,并把密钥从内联代码里移出去。

它和 HTTP 报文解析有什么区别?

本工具专注一件事:进 cURL、出代码。HTTP 报文解析还能接收原始 HTTP 报文和 fetch 片段,并把请求拆成请求头、Cookie、请求体的结构化视图。只需要代码时用本工具,需要查看或调试报文时用那个。

我的 cURL 命令会被上传吗?

不会。引擎加载完成后,解析与代码生成都在浏览器里完成,没有任何网络请求会把你的命令、请求头或 Token 带离本页。

为什么我的命令转换失败?

输入必须是以 curl 开头的完整命令。经过大量 shell 展开的命令,或在所选目标里没有对应写法的参数,可能无法转换——换一个目标、简化命令,或去掉仅属于 shell 的写法再试。

更多相关工具

继续网络与请求相关的工作——拆解完整 HTTP 报文、清理 URL,或解码 Authorization 头里的 JWT。