Java HttpResponse 状态码判断及处理
Java 中如何判断 HTTP 请求返回的状态码
在使用 Java 11 以上版本的 HttpClient 发送 HTTP 请求后,可以使用 HttpResponse 对象的 statusCode() 方法获取 HTTP 状态码。根据状态码判断请求是否成功,并进行相应的处理。
以下是一个代码示例:
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI("http://example.com"))
.build();
HttpResponse<byte[]> response = client.send(request, HttpResponse.BodyHandlers.ofByteArray());
int statusCode = response.statusCode();
System.out.println("Status code: " + statusCode);
if (statusCode == 200) {
System.out.println("Request successful");
byte[] responseBody = response.body();
// 处理响应体
} else {
System.out.println("Request failed");
// 处理失败的情况
}
}
}
代码解释
- 使用
HttpClient.newHttpClient()创建一个 HttpClient 实例。 - 使用
HttpRequest.newBuilder()创建一个 HttpRequest 实例,并设置请求的 URL。 - 使用
client.send()方法发送 HTTP 请求,并使用HttpResponse.BodyHandlers.ofByteArray()处理响应体,将其转换为字节数组。 - 使用
response.statusCode()获取响应的状态码。 - 根据状态码判断请求是否成功:
- 如果状态码为 200,表示请求成功,可以进一步处理
response.body()获取的响应体。 - 如果状态码不是 200,表示请求失败,需要根据具体状态码进行错误处理。
- 如果状态码为 200,表示请求成功,可以进一步处理
总结
通过 HttpResponse.statusCode() 方法,可以方便地获取 HTTP 请求返回的状态码,并根据状态码判断请求结果,进行相应的处理。
原文地址: http://www.cveoy.top/t/topic/fT8 著作权归作者所有。请勿转载和采集!