请你用java17写出发送HTTP2请求的代码
时间: 2024-02-12 12:04:52 浏览: 139
好的,以下是使用Java 17发送HTTP2请求的代码示例:
```java
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
public class Http2Example {
public static void main(String[] args) {
HttpClient client = HttpClient.newBuilder()
.version(HttpClient.Version.HTTP_2)
.connectTimeout(Duration.ofSeconds(10))
.build();
try {
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI("https://example.com"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (URISyntaxException | IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
```
在上述代码中,我们使用了 `HttpClient.Version.HTTP_2` 来指定使用HTTP2版本协议。然后创建了一个 `HttpClient` 对象并设置了连接超时时间。接着,我们创建了一个 `HttpRequest` 对象并设置了请求的URI和请求方法(这里使用的是GET方法)。最后,我们使用 `client.send` 方法发送HTTP请求,并使用 `HttpResponse.BodyHandlers.ofString()` 指定响应的返回类型为字符串类型。最后,在try块中打印了响应的主体内容。
阅读全文