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响应状态码的分布情况,有助于我们更好地理解和分析这些状态码的含义和应用场景。希望本文对你有所帮助,谢谢阅读!