java如何获取httpstatus

java如何获取httpstatus

作者:Rhett Bai发布时间:2026-01-29阅读时长:0 分钟阅读次数:18

用户关注问题

Q
如何在Java中检查HTTP请求的响应状态?

我在使用Java发送HTTP请求后,想知道怎样获取服务器返回的状态码,有什么简单的方法吗?

A

使用HttpURLConnection获取HTTP状态码

可以使用Java内置的HttpURLConnection类来发送请求并获取响应状态码。调用conn.getResponseCode()即可获得相应的HTTP状态。例如:

HttpURLConnection conn = (HttpURLConnection) url.openConnection();
int statusCode = conn.getResponseCode();
Q
是否有第三方库能帮助Java获取HTTP状态码?

我在Java项目中需要更方便地处理HTTP请求与响应,是否有第三方库可以简化获取HTTP状态码的操作?

A

使用Apache HttpClient获取HTTP状态码

Apache HttpClient是一个流行的HTTP客户端库,使用它可以方便地发送请求并获取响应状态码。示例代码:

CloseableHttpClient client = HttpClients.createDefault();
HttpGet request = new HttpGet("http://example.com");
CloseableHttpResponse response = client.execute(request);
int statusCode = response.getStatusLine().getStatusCode();
response.close();
client.close();
Q
Java 11及以上版本如何优雅地获取HTTP响应状态?

在Java 11及以后版本,使用什么API能方便获取HTTP响应状态码?

A

使用Java 11的HttpClient获取状态码

Java 11引入了新的HttpClient API,可以更现代化地发送HTTP请求并获取响应状态码。示例如下:

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("http://example.com"))
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
int statusCode = response.statusCode();