获取http请求的错误信息
时间: 2024-05-17 22:19:32 浏览: 15
获取HTTP请求的错误信息可以通过`HttpURLConnection`类的`getErrorStream()`方法来获取。当HTTP请求返回错误状态码时(如400或500),getErrorStream()方法将返回输入流,该输入流包含有关错误的信息。
以下是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpExample {
public static void main(String[] args) throws Exception {
URL url = new URL("https://www.example.com");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int statusCode = connection.getResponseCode();
if (statusCode == HttpURLConnection.HTTP_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} else {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getErrorStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
}
connection.disconnect();
}
}
```
在上面的代码中,我们首先检查HTTP状态码是否等于HTTP_OK(即200)。如果是,我们读取响应主体并打印它。否则,我们读取错误流,并打印错误信息。注意,在使用完连接后,我们需要调用`disconnect()`方法来释放连接。