Java获取Response的状态码

在Java中,当我们发送HTTP请求并得到响应时,有时候我们需要获取该响应的状态码。状态码是HTTP协议中用来表示请求结果的数字代码,比如200表示请求成功,404表示请求的资源未找到等等。在Java中,我们可以通过HttpURLConnection或者HttpClient来发送HTTP请求,并获取响应的状态码。

使用HttpURLConnection获取Response的状态码

HttpURLConnection是Java标准库中用于发送HTTP请求的类,我们可以使用它来发送请求,并获取响应的状态码。下面是一个简单的示例代码:

import java.net.HttpURLConnection;
import java.net.URL;

public class HttpUrlConnectionExample {

    public static void main(String[] args) {
        try {
            URL url = new URL("
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");

            int statusCode = connection.getResponseCode();
            System.out.println("Response status code: " + statusCode);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上面的代码中,我们首先创建一个URL对象,然后通过openConnection方法获取HttpURLConnection对象。接着设置请求方法为GET,然后调用getResponseCode方法获取响应的状态码。

使用HttpClient获取Response的状态码

除了HttpURLConnection,我们还可以使用Apache HttpClient来发送HTTP请求并获取响应的状态码。HttpClient是一个功能强大且易于使用的HTTP客户端库。下面是一个使用HttpClient的示例代码:

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;

public class HttpClientExample {

    public static void main(String[] args) {
        HttpClient httpClient = HttpClients.createDefault();
        HttpGet httpGet = new HttpGet("

        try {
            HttpResponse response = httpClient.execute(httpGet);
            int statusCode = response.getStatusLine().getStatusCode();
            System.out.println("Response status code: " + statusCode);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上面的代码中,我们首先创建一个HttpClient对象,然后创建一个HttpGet对象并设置请求的URL。接着调用execute方法发送请求并获取响应,最后通过getStatusLine方法获取状态码。

总结

通过上面的示例代码,我们学习了如何使用HttpURLConnection和HttpClient来获取HTTP响应的状态码。无论是使用标准库的HttpURLConnection还是第三方库的HttpClient,我们都可以方便地发送HTTP请求并处理响应。获取状态码对于我们判断请求结果和进行后续处理非常重要,希望本文对你有所帮助。

pie
    title HTTP Response Status Codes
    "200 OK" : 40
    "404 Not Found" : 20
    "500 Internal Server Error" : 10
    "302 Found" : 15
    "503 Service Unavailable" : 15

通过饼状图,我们可以直观地看到各种HTTP响应状态码的分布情况,有助于我们更好地理解和分析这些状态码的含义和应用场景。希望本文对你有所帮助,谢谢阅读!