Java HTTP响应码

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议。在进行HTTP通信时,客户端向服务器发送请求,并从服务器接收响应。HTTP响应由服务器发送给客户端,其中包含与请求相关的信息和数据。

HTTP响应码是服务器对客户端请求的响应状态的一种标识。它是一个三位数的数字,每个响应码都有特定的含义,用于指示请求的处理结果。常见的HTTP响应码包括200(成功)、404(资源未找到)和500(服务器内部错误)等。

在Java中,我们可以使用Java的HttpURLConnection类来发送HTTP请求并接收HTTP响应。以下是一个简单的示例代码,演示如何通过Java发送HTTP请求并获取HTTP响应码:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpClientExample {

    public static void main(String[] args) {
        try {
            // 创建URL对象
            URL url = new URL("

            // 打开连接
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            // 设置请求方法
            connection.setRequestMethod("GET");

            // 获取响应码
            int responseCode = connection.getResponseCode();
            System.out.println("HTTP 响应码: " + responseCode);

            // 读取响应内容
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            StringBuilder response = new StringBuilder();
            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            reader.close();

            // 输出响应内容
            System.out.println("HTTP 响应内容: " + response.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上面的示例代码中,我们使用了Java的HttpURLConnection类来创建一个HTTP连接,并设置请求方法为GET。然后,我们使用getResponseCode()方法获取HTTP响应码,并使用getInputStream()方法获取响应内容的输入流。最后,我们读取响应内容,并将其输出到控制台。

根据HTTP协议的规范,HTTP响应码被分为五个类别,分别以不同的数字开头。以下是一些常见的HTTP响应码及其含义:

  • 1xx: 信息提示 - 表示服务器已接收到请求,正在处理。
  • 2xx: 成功 - 表示服务器成功处理了请求。
  • 3xx: 重定向 - 表示需要进一步操作以完成请求。
  • 4xx: 客户端错误 - 表示客户端发送的请求有错误。
  • 5xx: 服务器错误 - 表示服务器在处理请求时发生错误。

在实际开发中,我们经常会遇到不同的HTTP响应码,需要根据不同的响应码采取不同的处理逻辑。例如,如果我们收到404(资源未找到)的响应码,我们可以向用户显示一个错误页面或提示信息。

以下是一个简单的类图,展示了示例代码中使用的相关类和方法的关系:

classDiagram
    class URL {
        +openConnection()
    }
    
    class HttpURLConnection {
        +setRequestMethod()
        +getResponseCode()
        +getInputStream()
    }
    
    class BufferedReader {
        +BufferedReader()
        +readLine()
        +close()
    }
    
    class InputStreamReader {
        +InputStreamReader()
    }
    
    URL --> HttpURLConnection
    HttpURLConnection --> BufferedReader
    BufferedReader --> InputStreamReader

在本文中,我们介绍了Java中如何使用HttpURLConnection类发送HTTP请求并获取HTTP响应码。我们还提供了一个简单的示例代码,并解释了常见的HTTP响应码及其含义。通过了解HTTP响应码,我们可以更好地处理HTTP请求和响应,提高我们的开发效率和应用程序的稳定性。