Android WebView:空白页面,SSL错误无回调

3

对于我的应用程序,用户输入服务器名称,应用程序应尝试使用HTTPS,并在HTTPS失败时回退到HTTP。好的。

我了解如何使用WebViewClient.onReceivedSslError()来处理SSL错误,并且大多数情况下都可以正常工作。但是,偶尔会看到日志中没有调用此方法,尽管看到以下两行:

08-17 08:55:33.430: W/chromium(3264): external/chromium/net/http/http_stream_factory_impl_job.cc:865: [0817/085533:WARNING:http_stream_factory_impl_job.cc(865)] Falling back to SSLv3 because host is TLS intolerant: svcstable1.hs.trcint.com:80
08-17 08:55:33.490: E/chromium(3264): external/chromium/net/socket/ssl_client_socket_openssl.cc:780: [0817/085533:ERROR:ssl_client_socket_openssl.cc(780)] handshake failed; returned -1, SSL error code 1, net_error -107

这种情况会偶尔发生。它会连续失败3次,然后正常工作,而且我再也无法让它失败。

此时,我在考虑自己获取页面内容并将数据设置到Web视图中。我不想这样做,但目前似乎是我的唯一选择。

有任何想法吗?

1个回答

1
我从未能找到这个问题的原因或解决方案。最终,我使用了HttpClient来在将连接交给WebView之前进行“测试”。
这非常痛苦,特别是当WebView似乎具有强大的错误处理机制时。

我也遇到了同样的问题,请在你的回答中添加更多细节,你所说的“test”是什么意思? - Rahul Matte
我是指通过HTTP客户端打开连接。您也可以使用UrlConnection。 - Jeffrey Blattman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接