cURL 转 Java

粘贴一条 curl 命令,得到仅靠 JDK 就能编译的 Java 11 HttpClient 代码。

cURL 转 Java 完全在你的浏览器中运行:粘贴的命令连同其中的令牌都在本机转换,不会上传。

打开 cURL 转 C#

关于 cURL 转 Java

Java 到第 11 版终于有了像样的 HTTP 客户端,也就没必要为了复现一条 curl 命令去请出 OkHttp 或 Apache。构建器写起来干净,但有规矩:GET 与 DELETE 不带请求体,POST 与 PUT 带,其余动词——包括 PATCH——都得走通用方法。弄错了要么编译不过,要么请求体被悄悄丢掉。这个转换器读取 curl 的参数并生成遵守这些规矩的代码,只引入需要的 import,并正确编码 -u。

功能特性

如何使用 cURL 转 Java

  1. 粘贴带请求头与请求体的 curl 命令
  2. 边输入边阅读生成的 Java 代码
  3. 复制代码,或下载 Main.java
  4. 用任意 JDK 11 及以上版本直接编译

示例

输入

curl -X PATCH https://api.example.com/users/1 -d '{"role":"admin"}'

输出

.method("PATCH", HttpRequest.BodyPublishers.ofString("{\"role\":\"admin\"}"))

构建器没有 PATCH 的快捷方法,所以要走 method()——手工移植时最容易漏掉的一点。

常见错误与故障排除

常见问题

怎样把 curl 转成 Java?
把命令粘贴到上方:方法、URL、请求头与请求体会变成一次 java.net.http 请求,并使用合适的调用方式。
生成的代码需要依赖吗?
不需要。它用的是自 Java 11 起随 JDK 提供的 java.net.http,类路径为空也能编译。
Java 里怎样发送 PATCH 请求?
用通用调用:.method("PATCH", HttpRequest.BodyPublishers.ofString(body)),因为没有专门的快捷方法。
转换时会真的发出请求吗?
不会。这个工具只重写文本:不执行任何请求,转换也在你的浏览器中完成。

相关工具

全部 ArrayKit 工具