今天我们将看一下 HTTP 基本认证。指北君将会讲讲它是如何工作的,并且一步步教大家如何使用。
什么是 HTTP 基本认证
HTTP 基本认证是一种简单的认证方法。客户端可以通过用户名和密码进行认证。这些凭证以特定的格式在 Authorization HTTP Header 中发送。一般它以 Basic 关键字开始,后面是一个 base64 编码的用户名:密码值。冒号字符在这里很重要。头部应该严格遵循这个格式。
例如,要用 javanorth 用户名和 http 密码进行认证,我们必须发送这个 Header。
Basic amF2YW5vcnRoOmh0dHA=
我们可以通过使用 base64 解码器和检查解码的结果来验证。
Java HttpClient
在 Java 9 中引入了一个新的 HttpClient 模块,它在 Java 11 中得到了标准化。下面代码部分指北君我将使用 Java 17,我们可以简单地从 java.net.http 包中导入它,无需任何额外的配置或依赖。
让我们从执行一个简单的GET请求开始,现在不需要任何认证。
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder().GET()
.uri(new URI("https://www.javanorth.cn/get")).build();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
logger.info("Status {}", response.statusCode());
- 首先,我们创建一个 HttpClient 对象,它可以用来执行 HTTP 请求。
- 其次,我们使用构建器设计模式创建一个 HttpRequest 对象。GET 方法设置请求的 HTTP 方法。uri 方法设置了我们想发送请求的 URL。<

本文介绍了HTTP基本认证的概念,以及如何在Java中使用HttpClient进行认证。通过示例展示了如何配置HttpClient发送带有认证信息的请求,同时演示了直接设置HTTP头进行认证的方法。
最低0.47元/天 解锁文章
1970

被折叠的 条评论
为什么被折叠?



