问题描述
当前我的设置如下:
connection.setRequestProperty("Authorization","Basic NDUwNjMyOTc6U2hyaXNo2weQDEy");
Basic NDUwNjMyOTc6U2hyaXNo2weQDEy"----------
这部分是我使用邮递员生成的。但其中包含user
名称和password
。
如何使用Java生成此验证Basic NDUwNjMyOTc6U2hyaXNo2weQDEy
并将其传递到setRequestProperty
中。
预先感谢:)
解决方法
基本认证标头是使用基数64从username:password
生成的,
标头授权值可以这样生成:
Encoder encoder = Base64.getEncoder();
String originalString = username+":"+password;
String encodedString = encoder.encodeToString(originalString.getBytes());
String headerAthorization="Basic "+encodedString;
,
您添加标头Basic ENCODED
,其中编码为"user:password"
的base64。
例如,请参见https://github.com/jcabi/jcabi-http/blob/master/src/main/java/com/jcabi/http/wire/BasicAuthWire.java#L123。