gpt4 book ai didi

java - 如何使用 RESTEasy 客户端生成器设置用户名和密码?

转载 作者:可可西里 更新时间:2023-11-01 16:55:57 24 4
gpt4 key购买 nike

我有一个需要身份验证的 url(就像一个浏览器弹出窗口询问用户名和密码。)

enter image description here

一般我们可以使用下面的格式来实现:

http://username:password@url.com

使用 RESTEasy 客户端构建器

 Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://url.com");

如何在不自己构造http://username:password@url.com的情况下实现它?我已经看到是否有任何方法可以用来设置它而没有运气。此外,我不确定这些凭据、 header 、cookie 等是如何传递的。

最佳答案

看起来像Basic Authentication .如果是这种情况,您只需将 Authorization header 设置为 Basic base64encode(username:password)

例如:

String credentials = "username:password"
String base64encoded = Base64.getEncoder().encodeToString(credentials.getBytes());
Response response = target.request()
.header(HttpHeaders.AUTHORIZATION, "Basic " + base64encoded)....

Base64我使用的类来自 Java 8。如果您不使用 Java 8,则有一些库支持 Base64。在 Java 8 之前,有一个 com.sun 内部 Base64 类,但建议不要使用它们。

如果您只想运行快速测试(并且没有 Java 8 或不想去寻找库),您可以转到 this site只需输入您的 username:password 并对其进行编码,然后复制并粘贴到您的代码即可。

例如:

base64encode(username:password) == dXNlcm5hbWU6cGFzc3dvcmQ=

关于java - 如何使用 RESTEasy 客户端生成器设置用户名和密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30642631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com