不喜欢广告? 无广告 今天

cURL 命令转代码工具

开发人员联网文本
广告 移除?
广告 移除?

指导

粘贴一个 cURL 命令,立即获得等效的 HTTP 客户端代码,支持 Python、JavaScript、PHP、Go 或 Ruby。该转换器完全在您的浏览器中运行,

cURL 到代码转换器

粘贴一个 cURL 命令,立即获得等效的 HTTP 客户端代码,支持 Python、JavaScript、PHP、Go 或 Ruby。该转换器完全在您的浏览器中运行,使用具有真实 shell 意识的解析器解析 cURL 命令,并将您实际使用的标志——如头信息、JSON 和表单体、多部分上传、基本认证、Cookie、重定向、代理和超时——映射为每个目标语言的惯用代码。

与向聊天助手提问不同,输出是确定性的。相同的 cURL 命令始终生成相同的代码,不会出现幻觉的头信息、错误的标志映射或虚构的库调用。不支持的标志会以内联提示的形式显示,而不是被静默忽略,这样您就可以清楚地看到生成代码所包含和不包含的内容。

如何使用

  1. 将完整的 cURL 命令粘贴到输入框中(支持换行符 \ 是允许的)。
  2. 从下拉菜单中选择目标语言——Python (requests)、JavaScript (fetch 或 axios)、Node.js (node-fetch)、PHP (Guzzle 或 curl 扩展)、Go (net/http) 或 Ruby (Net::HTTP)。
  3. 代码会随着您输入内容实时更新。使用复制按钮获取代码,或下载带有对应扩展名的文件。
  4. 如果某些标志无法精确映射,您将看到提示列表,以确保没有任何内容被静默丢失。

特征

  • 八个输出目标 —— Python 的 requests、fetch、axios、node-fetch、Guzzle、php-curl、Go 的 net/http 和 Ruby 的 Net::HTTP,均采用惯用风格。
  • 具有 shell 意识的解析器 —— 支持单引号和双引号、反斜杠转义、换行符延续、组合短标志如 -sLk,并且 --flag=value 语法。
  • 体智能检测 —— JSON 负载变为类型化的对象字面量,urlencoded 体变为键值对映射,多部分上传变为 FormData 或多部分部分。 -F 认证和 Cookie
  • ,Bearer 令牌和-u user:passCookie 都会正确地放置到目标语言中。 -b name=value 传输标志
  • ,以及 HTTP 版本选择器都会被保留。-L, -k, --compressed, -x proxy, --connect-timeout, --max-time隐私默认设置
  • —— cURL 命令永远不会离开您的浏览器。在您不想将 API 令牌粘贴到聊天服务时非常有用。 cURL 命令行工具实际上做了什么?

广告 移除?

常问问题

  1. cURL 是一个用于在不同网络协议上传输数据的命令行客户端。它通过命令行标志构建一个 HTTP(或 FTP、SMTP 等)请求,发送请求并打印响应。这些标志直接映射到 HTTP 概念——方法、头信息、体、认证、重定向、TLS 设置——这就是为什么 cURL 命令常被用作一种便携、语言中立的方式来描述 HTTP 请求,用于文档和错误报告中。

    为什么不同语言中的 HTTP 请求结构如此不同?

  2. 每个 HTTP 客户端库都以宿主语言的惯用方式封装了相同的底层请求。Python 的 requests 将请求视为带有关键字参数的函数调用。axios 和 fetch 将其视为一个配置对象,传递给一个返回 Promise 的函数。Go 会构建一个 Request 结构,附加头信息,然后通过一个 Client 执行。底层的网络字节是相同的——只有调用方式不同。转换器将一种表面语法转换为另一种,同时保持底层字节负载不变。

    application/json 和 application/x-www-form-urlencoded 身体有什么区别?

  3. 这两种都是常见的发送请求体的方式,但它们以截然不同的方式编码数据。application/x-www-form-urlencoded 将体编码为 URL 风格的键=值对,用 & 连接,与查询字符串格式相同。application/json 发送一个 JSON 文档,支持嵌套对象、数组以及数字、布尔值等类型。服务器根据 Content-Type 头信息解析体,因此选择正确的类型是确保数据在接收端可读的关键。

    为什么 cURL 默认不跟随重定向,而其他 HTTP 客户端会跟随?

  4. 自动跟随重定向可能会掩盖错误并带来安全风险——例如,一个 3xx 响应可能会重定向到不应接收原始授权头的另一个主机。cURL 选择了保守的默认设置,需要您通过 -L 显式启用。许多高级客户端库(如 Python requests、axios、fetch)为了常见情况做了优化,会默认跟随重定向。在转换 cURL 命令时,这一点很重要:由普通 cURL 命令生成的代码通常需要显式选项来禁用重定向跟随,以确保客户端行为与 cURL 一致。

    在此处粘贴您的 cURL 命令,例如:curl -X POST https://api.example.com/users -H 'Content-Type: application/json' -d '{"name":"Ada"}'

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?