使用java 11中的新的http/2 client来发送http请求并处理响应
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class HttpClientExample {
public static void main(String[] args) throws Exception {
// 创建一个HTTP/2 Client
HttpClient client = HttpClient.newHttpClient();
// 创建一个GET请求
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/data"))
.GET()
.build();
// 发送请求并处理响应
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
// 打印响应结果
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response Body: " + response.body());
}
}在上面的示例代码中,我们首先创建了一个HttpClient对象,然后创建了一个GET请求,并通过send()方法发送请求并返回一个HttpResponse对象。最后,我们可以通过HttpResponse对象获取响应的状态码和响应体。
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpHeaders;
import java.net.http.HttpResponse.BodyHandlers;
public class HttpClientExample {
public static void main(String[] args) throws Exception {
// 创建一个HTTP/2 Client
HttpClient client = HttpClient.newHttpClient();
// 创建一个POST请求
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/data"))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("{"key": "value"}"))
.build();
// 发送请求并处理响应
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
// 打印响应结果
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response Body: " + response.body());
}
}在上面的示例代码中,我们首先创建了一个HttpClient对象,然后创建了一个POST请求,并通过send()方法发送请求并返回一个HttpResponse对象。我们可以通过POST方法的参数指定请求体的内容,例如,这里我们发送了一个JSON字符串作为请求体。
除了处理响应体,我们还可以获取其他的响应信息,例如响应头、响应状态码等。下面是一些处理响应的示例代码:
// 获取响应头
HttpHeaders headers = response.headers();
headers.map().forEach((k, v) -> System.out.println(k + ": " + v));
// 获取响应状态码
int statusCode = response.statusCode();
// 判断响应是否成功
if (statusCode == 200) {
System.out.println("Request succeeded");
} else {
System.out.println("Request failed");
}以上代码展示了如何获取响应头、响应状态码,并根据状态码判断请求是否成功。
立即学习“Java免费学习笔记(深入)”;
以上就是使用Java 11中的新的HTTP/2 Client来发送HTTP请求并处理响应的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号