2

我认为标题是不言自明的。我找不到任何提到 WebViews 支持摘要式身份验证的资源或参考资料。

几个警告:

  • 我不是在谈论使用 base64 编码发送授权标头的基本身份验证。

  • 我只是在谈论嵌入在应用程序中的 WebView,而不是简单的 http 请求,例如可以使用 apache http 客户端。

4

4 回答 4

1

您可以在您的 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 身份验证对话框

于 2013-04-12T16:48:28.310 回答
1

这对我有用:

webView.setHttpAuthUsernamePassword("domain", "realm", "username", "password");
webView.loadUrl("http://domain:port/url/");
于 2016-11-18T11:00:06.297 回答
0

使用setHttpAuthUsernamePassword方法WebView指定要使用的用户名和密码。它用于基本和摘要身份验证请求。

于 2013-04-12T15:52:24.587 回答
0

一言以蔽之,它确实支持 HTTP 摘要认证。我已经测试并确定了。

于 2015-07-06T19:36:10.780 回答