From b8e855218626e89d610a5af4af3c7abde7b320a3 Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 30 Jul 2024 22:30:56 +0800 Subject: [PATCH] add method --- .../hutool/http/client/HeaderOperation.java | 17 +++++++++++++++++ .../dromara/hutool/http/client/Request.java | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/HeaderOperation.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/HeaderOperation.java index e9a03cef7..83a72c604 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/HeaderOperation.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/HeaderOperation.java @@ -19,9 +19,11 @@ import org.dromara.hutool.core.convert.Convert; import org.dromara.hutool.core.map.MapUtil; import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.http.HttpUtil; +import org.dromara.hutool.http.auth.HttpAuthUtil; import org.dromara.hutool.http.meta.HeaderName; import java.net.HttpCookie; +import java.nio.charset.Charset; import java.util.Collection; import java.util.LinkedHashMap; import java.util.List; @@ -216,6 +218,21 @@ public interface HeaderOperation> { // region ----------------------------------------------------------- auth + /** + * 简单验证,生成的头信息类似于: + *
+	 * Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
+	 * 
+ * + * @param username 用户名 + * @param password 密码 + * @param charset 编码 + * @return this + */ + default T basicAuth(final String username, final String password, final Charset charset) { + return auth(HttpAuthUtil.buildBasicAuth(username, password, charset)); + } + /** * 令牌验证,生成的头类似于:"Authorization: Bearer XXXXX",一般用于JWT * diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/Request.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/Request.java index a7cd9c5e9..c97785503 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/Request.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/Request.java @@ -237,6 +237,8 @@ public class Request implements HeaderOperation { return this; } + // region header + @Override public Map> headers() { return MapUtil.view(this.headers); @@ -270,6 +272,22 @@ public class Request implements HeaderOperation { return this; } + /** + * 简单验证,生成的头信息类似于: + *
+	 * Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
+	 * 
+ * + * @param username 用户名 + * @param password 密码 + * @return this + */ + public Request basicAuth(final String username, final String password) { + return basicAuth(username, password, charset); + } + + // endregion + // region body get /** * 获取请求体