如何在 JAVA 16.0 中发送 HTTP 请求

Posted

技术标签:

【中文标题】如何在 JAVA 16.0 中发送 HTTP 请求【英文标题】:How to send HTTP request in JAVA 16.0 【发布时间】:2021-12-21 05:00:37 【问题描述】:

正如我在 Java 11 HttpURLRequest 被 HttpRequest 取代后看到的那样。

如何使用 HttpRequest 发送简单的 HTTP 请求?

【问题讨论】:

HttpRequest 类上的 JavaDoc 不是已经有帮助了吗?它基本上告诉你使用HttpClientHttpRequest.builder() 我想你的意思是HttpURLConnection。它没有被替换。从 Java 17 开始,它仍然可供应用程序使用。它没有被标记为已弃用。 (正如 JEP 110 所述:“此 API 旨在最终替换`HttpURLConnection` API用于新代码...”) 【参考方案1】:

使用 JDK 11 HttpClient + HttpRequest 的简单 GET 请求:

HttpClient client = HttpClient.newBuilder()
        .connectTimeout(Duration.ofSeconds(10))
        .build();

HttpRequest req = HttpRequest.newBuilder()
        .uri(URI.create("https://pathHere"))
        .GET().build();


client.send(req, HttpResponse.BodyHandlers.ofString()).body();

【讨论】:

以上是关于如何在 JAVA 16.0 中发送 HTTP 请求的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HttpURLConnection 中发送 PUT、DELETE HTTP 请求?

如何通过远程方法发送 json-rpc http post 请求并在 java 中传递加密参数

如何通过 HTTP 使用 Java(或 C#)中的摘要身份验证 HTTP 发送 SOAP 请求?

在java中的http PUT请求中发送一个整数

Java代码发送Http请求

Java sendPost请求方法如何加入参数?