对于我的应用程序,用户输入服务器名称,应用程序应尝试 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 视图中。我宁愿不这样做,但这似乎是我目前唯一的选择。
有任何想法吗?