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");
            // 处理失败的情况
        }
    }
}

代码解释

  1. 使用 HttpClient.newHttpClient() 创建一个 HttpClient 实例。
  2. 使用 HttpRequest.newBuilder() 创建一个 HttpRequest 实例,并设置请求的 URL。
  3. 使用 client.send() 方法发送 HTTP 请求,并使用 HttpResponse.BodyHandlers.ofByteArray() 处理响应体,将其转换为字节数组。
  4. 使用 response.statusCode() 获取响应的状态码。
  5. 根据状态码判断请求是否成功:
    • 如果状态码为 200,表示请求成功,可以进一步处理 response.body() 获取的响应体。
    • 如果状态码不是 200,表示请求失败,需要根据具体状态码进行错误处理。

总结

通过 HttpResponse.statusCode() 方法,可以方便地获取 HTTP 请求返回的状态码,并根据状态码判断请求结果,进行相应的处理。

Java HttpResponse 状态码判断及处理

原文地址: http://www.cveoy.top/t/topic/fT8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录