Java获取Response状态码
在Java中,我们可以使用HttpURLConnection或HttpClient等库来发送HTTP请求并获取服务器的响应。在处理服务器响应时,获取响应的状态码是非常重要的,它包含了服务器对请求的处理结果。本文将介绍如何使用Java来获取服务器响应的状态码,并给出相应的代码示例。
HttpURLConnection
HttpURLConnection是Java标准库中用于发送HTTP请求的类。我们可以使用它来发送GET、POST等请求,并获取服务器的响应。下面是一个使用HttpURLConnection发送GET请求并获取状态码的示例代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpURLConnectionExample {
public static void main(String[] args) {
String url = "
try {
// 创建URL对象
URL obj = new URL(url);
// 打开连接
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 设置请求方法为GET
con.setRequestMethod("GET");
// 获取响应状态码
int responseCode = con.getResponseCode();
System.out.println("Response Code: " + responseCode);
// 读取响应内容
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 打印响应内容
System.out.println("Response: " + response.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的代码中,我们首先创建了一个URL对象,然后使用openConnection()
方法打开连接。接着,我们设置请求方法为GET,并使用getResponseCode()
方法获取响应的状态码。
HttpClient
HttpClient是一个功能强大且易于使用的开源Java库,用于发送HTTP请求和处理响应。HttpClient支持各种HTTP方法,并提供了更高级的功能,例如重定向、Cookie管理等。下面是一个使用HttpClient发送GET请求并获取状态码的示例代码:
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
public class HttpClientExample {
public static void main(String[] args) {
String url = "
try {
// 创建HttpClient对象
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
// 创建HttpGet对象
HttpGet httpGet = new HttpGet(url);
// 发送GET请求
HttpResponse httpResponse = httpClient.execute(httpGet);
// 获取响应状态码
int responseCode = httpResponse.getStatusLine().getStatusCode();
System.out.println("Response Code: " + responseCode);
// 获取响应内容
String response = EntityUtils.toString(httpResponse.getEntity());
// 打印响应内容
System.out.println("Response: " + response);
// 关闭HttpClient
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的代码中,我们首先创建了一个CloseableHttpClient对象,然后创建一个HttpGet对象,并设置要请求的URL。接着,我们使用execute()
方法发送GET请求,并通过getStatusLine().getStatusCode()
方法获取响应的状态码。
结语
通过使用HttpURLConnection或HttpClient库,我们可以方便地发送HTTP请求并获取服务器的响应。获取响应的状态码对于判断请求是否成功、处理服务器返回的错误等非常重要。本文介绍了如何使用Java获取服务器响应的状态码,并给出了相应的代码示例。希望本文对你理解Java中获取Response状态码的方法有所帮助。
参考文献
- [HttpURLConnection - Java Platform SE 8](
- [HttpClient Tutorial](