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