java获取http状态码
时间: 2023-09-25 10:07:20 浏览: 222
在 Java 中获取 HTTP 状态码可以通过 HttpURLConnection 类的 getResponseCode() 方法实现。具体代码如下:
```java
URL url = new URL("http://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int statusCode = connection.getResponseCode();
```
其中,URL 指定要请求的网址,HttpURLConnection 是 Java 中用于发送 HTTP 请求的类,setRequestMethod() 方法设置请求方法,connect() 方法连接到指定的 URL,getResponseCode() 方法获取 HTTP 响应的状态码。返回的 statusCode 就是 HTTP 状态码。
相关问题
java怎么获取http状态码
我们可以使用Java的HttpURLConnection类来获取HTTP状态码。
下面是一个示例代码:
```
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("http://www.example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int responseCode = connection.getResponseCode();
System.out.println("HTTP状态码: " + responseCode);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在这个例子中,我们首先创建了一个URL对象,然后打开了一个HttpURLConnection连接。我们使用setRequestMethod()方法设置了请求方法为GET,然后使用connect()方法发起了连接。最后,我们使用getResponseCode()方法获取了HTTP状态码。
如果连接成功,状态码应该是200,表示请求成功。如果出现了其他状态码,可以查看HTTP状态码的定义,了解其含义。
Java中如何处理HTTP状态码404?
在Java中处理HTTP状态码404(通常是“Not Found”),你可以按照以下步骤操作:
1. **检查响应**:如果你使用的是像`HttpURLConnection`或`java.net.URLConnection`这样的原始Java API,可以获取到HTTP响应码,然后检查它是否等于404。例如:
```java
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_NOT_FOUND) {
// 处理404情况
}
```
2. **使用第三方库**:如果你的项目依赖于更高级的库,如Apache HttpClient或者OkHttp,它们通常会提供更方便的API来处理响应码:
```java
HttpResponse httpResponse = httpClient.execute(request);
StatusLine statusLine = httpResponse.getStatusLine();
if (!statusLine.is2xxSuccessful()) {
int statusCode = statusLine.getStatusCode();
if (statusCode == HttpStatus.SC_NOT_FOUND) {
// 处理404
}
}
```
3. **解析响应体**:404状态还可能包含一些关于找不到的资源的信息,你可能需要解析响应体来获取额外数据。使用`HttpURLConnection`或`InputStreamReader`读取内容。
4. **提供用户反馈**:最后,在你的应用中,可以适当地给用户提供友好的错误提示,告诉他们请求的资源未找到。
记得处理这类异常时考虑到用户体验,避免过于直接地暴露技术细节。