我认为标题是不言自明的。我找不到任何提到 WebViews 支持摘要式身份验证的资源或参考资料。
几个警告:
我不是在谈论使用 base64 编码发送授权标头的基本身份验证。
我只是在谈论嵌入在应用程序中的 WebView,而不是简单的 http 请求,例如可以使用 apache http 客户端。
我认为标题是不言自明的。我找不到任何提到 WebViews 支持摘要式身份验证的资源或参考资料。
几个警告:
我不是在谈论使用 base64 编码发送授权标头的基本身份验证。
我只是在谈论嵌入在应用程序中的 WebView,而不是简单的 http 请求,例如可以使用 apache http 客户端。
您可以在您的 WebView 中设置一个 WebViewClient 并在您的 WebViewClient 中覆盖以下方法,请参见下面的代码..
private class ExWebChromeClient extends WebViewClient {
@Override
public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) {
super.onReceivedHttpAuthRequest(view, handler, host, realm); //To change body of overridden methods use File | Settings | File Templates.
}
}
webView.setWebViewClient(new ExWebChromeClient());//set your Extended WebViewClient here
在这里您可以显示一个身份验证对话框。请在此处查看Android 本机浏览器应用程序中的 showHttpAuthentication 方法,这里显示并在 WebView 中正确处理了一个 http 身份验证对话框
这对我有用:
webView.setHttpAuthUsernamePassword("domain", "realm", "username", "password");
webView.loadUrl("http://domain:port/url/");
使用setHttpAuthUsernamePassword方法WebView
指定要使用的用户名和密码。它用于基本和摘要身份验证请求。
一言以蔽之,它确实支持 HTTP 摘要认证。我已经测试并确定了。