一、简介
在现代的软件开发中,与外部服务进行 HTTP 通信是非常常见的需求,比如调用第三方 API、获取网页内容等。Java 标准库中的 HttpUrlConnection
提供了基本的 HTTP 请求功能,但使用起来较为繁琐,需要处理很多细节,如连接管理、请求头设置、响应处理等。Hutool - Http 模块对 HttpUrlConnection
进行了封装,提供了简洁易用的 API,使得开发者可以更方便地进行 HTTP 请求,无需关注底层的复杂实现。
二、引入依赖
如果你使用 Maven 项目,在 pom.xml
中添加以下依赖:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
若使用 Gradle 项目,在 build.gradle
中添加:
implementation 'cn.hutool:hutool-all:5.8.16'
三、基本的 HTTP 请求
1. GET 请求
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
public class GetRequestExample {
public static void main(String[] args) {
// 发送 GET 请求
HttpResponse response = HttpRequest.get("https://www.example.com")
.execute();
// 检查响应状态码
if (response.isOk()) {
// 获取响应体
String body = response.body();
System.out.println("响应内容:" + body);
} else {
System.out.println("请求失败,状态码:" + response.getStatus());
}
}
}
在上述代码中,使用 HttpRequest.get
方法创建一个 GET 请求对象,指定请求的 URL。调用 execute
方法发送请求并获取响应对象 HttpResponse
。通过 isOk
方法检查响应状态码是否为 200(表示请求成功),如果成功则使用 body
方法获取响应体内容并输出。
2. POST 请求
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
public class PostRequestExample {
public static void main(String[] args) {
// 要发送的数据
String data = "param1=value1¶m2=value2"