Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用RESTEasy客户端生成器设置用户名和密码?_Java_Http_Http Headers_Jax Rs_Resteasy - Fatal编程技术网

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

Java 如何使用RESTEasy客户端生成器设置用户名和密码?,java,http,http-headers,jax-rs,resteasy,Java,Http,Http Headers,Jax Rs,Resteasy,我有一个需要验证的url(比如出现一个浏览器弹出窗口,询问用户名和密码。) 通常,我们可以使用以下格式来实现这一点: http://username:password@url.com 使用RESTEasy客户端生成器 Client client = ClientBuilder.newClient(); WebTarget target = client.target("http://url.com"); 如何在不必构造http://username:password@url.com我自己

我有一个需要验证的url(比如出现一个浏览器弹出窗口,询问用户名和密码。)

通常,我们可以使用以下格式来实现这一点:

http://username:password@url.com

使用RESTEasy客户端生成器

 Client client = ClientBuilder.newClient();
 WebTarget target = client.target("http://url.com");
如何在不必构造
http://username:password@url.com
我自己?我知道有没有什么方法可以让我在没有运气的情况下设置它。此外,我也不确定这些凭证是如何传递的,如标题、cookie等。如果是这种情况,只需将
授权
标题设置为
基本base64encode(用户名:密码)

例如:

String credentials = "username:password"
String base64encoded = Base64.getEncoder().encodeToString(credentials.getBytes());
Response response = target.request()
        .header(HttpHeaders.AUTHORIZATION, "Basic " + base64encoded)....
base64encode(username:password) == dXNlcm5hbWU6cGFzc3dvcmQ=
我使用的类来自Java8。如果您不使用Java8,那么有些库支持Base64。在Java8之前,有一个
com.sun
内部
Base64
类,但建议不要使用这些类

如果您只想运行一个快速测试(并且没有Java 8或不想去寻找lib),您可以转到并键入您的
username:password
并对其进行编码,然后复制并粘贴到您的代码中

例如:

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

它是什么类型的身份验证,基本??