Android 中 HttpURLConnection 的 HTTP 身份验证
我的应用程序需要连接到多个服务器,每个服务器都有自己的用户名/密码对。然而,Android 的 javadoc 中提供的示例并未考虑具有不同用户名/密码集的多个主机:
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password.toCharArray());
});
}
这设置了虚拟机范围的身份验证处理程序,并且无法识别我们正在尝试连接到哪个主机。有没有一种方法可以使用 HttpUrlConenction 并使用不同主机的不同用户/通行证处理 HTTP 身份验证?
My app needs to connect to multiple servers, each with their own username/password pairs. However The example provided in Android's javadoc does not consider multiple hosts with different sets of username/password:
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password.toCharArray());
});
}
This sets the VM-wide authentication handler, and has no way to identify which host we are trying to connect to. Is there a way that I can use HttpUrlConenction and handle HTTP Authentication with different user/passes for different hosts?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 Authenticator 的 getRequestingHost() 方法。
Use Authenticator's getRequestingHost() method.