返回

用最简洁的例子解析 HttpURLConnection

Android

介绍

HttpURLConnection 是 Java 中一个用来发起网络请求的类。它是一个非常底层的类,这意味着它直接与底层网络协议(如 HTTP)交互。这使得它比更高层次的网络库(如 Volley 或 OkHttp)更灵活,但也更复杂。

最简单的例子

以下是如何使用 HttpURLConnection 执行 GET 请求的最简单的示例:

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

public class HttpURLConnectionExample {

    public static void main(String[] args) throws Exception {
        // 创建一个 URL 对象
        URL url = new URL("https://example.com");

        // 打开一个连接到该 URL 的 HttpURLConnection
        HttpURLConnection con = (HttpURLConnection) url.openConnection();

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

        // 发送请求
        con.connect();

        // 获取响应代码
        int responseCode = con.getResponseCode();

        // 检查响应代码是否为 200(表示请求成功)
        if (responseCode == 200) {
            // 获取响应体
            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));

            // 读取响应体并将其打印到控制台
            String inputLine;
            while ((inputLine = in.readLine()) != null) {
                System.out.println(inputLine);
            }
            in.close();
        } else {
            System.out.println("请求失败,响应代码为:" + responseCode);
        }
    }
}

解释

此示例首先创建一个 URL 对象,该对象包含您要向其发送请求的 URL。然后,它打开一个连接到该 URL 的 HttpURLConnection。接下来,它设置请求方法为 GET,这表示我们希望从服务器获取数据。然后,它发送请求并获取响应代码。

如果响应代码为 200(表示请求成功),则示例获取响应体并将其打印到控制台。否则,它将打印一条错误消息。

结论

HttpURLConnection 是一个功能强大的类,可用于执行各种类型的网络请求。它比更高层次的网络库更灵活,但也更复杂。如果您需要对网络请求有更多的控制,那么 HttpURLConnection 是一个很好的选择。