加载URL时出错。我还提供了所有必需的许可。 控制台->错误:-6 net :: ERR_CONNECTION_CLOSED。
webview.setListener(this, this)
webview.setDownloadListener(this)
webview.run {
setMixedContentAllowed(true)
setGeolocationEnabled(true)
setCookiesEnabled(true)
setThirdPartyCookiesEnabled(true)
}
with(webview.settings) {
javaScriptCanOpenWindowsAutomatically = true
domStorageEnabled = true
javaScriptEnabled = true
userAgentString = "Android WebView"
allowFileAccess = true
allowContentAccess = true
allowFileAccessFromFileURLs = true
allowUniversalAccessFromFileURLs = true
}
webview.clearCache(true);
webview.clearHistory();
webview.reload();
//load url
webview.loadUrl(url)
答案 0 :(得分:0)
您是否在使用像百度这样的防病毒软件?如果您正在使用,那么我根据此
为您please translate this link into english为您提供了此解决方案“亲爱的,第一次发求助,通常是百度,这次没有百度,求助〜
手机Android客户端https-webview的部分提示ERR_CONNECTION_CLOSED,具有百度,尚未解决。
无法访问https页面,但可以正常访问https服务 (以前,Android 6.0无法访问https服务,后来又在tomcat配置中添加了诸如ciphers =“ SSL_RSA_WITH_RC4_128_SHA”的信息)。
调试时,在侦听webview-onrecievederr时,它将ERR_CONNECTION_CLOSED返回到
收听onrecievedsslerr。似乎没有反映出来,这里的日志也没有打印出来。 。 代码里面的OnReceivedSslError如下: handler.proceed(); //接受所有网站的证书 和打印日志信息,但是在运行时,不会打印日志信息
OPPO R9,三星S6,华为mate 8等暂时已知的手机型号。
在调试开发环境(未更改代码)时,这种情况下的手机出现在生产环境中,但是在开发环境中打开了相关的https-webview。
将生产环境的tomcat配置文件server.xml放入开发环境中以运行调试,这也是正常的。
由于百度表示可能是端口问题,所以开发环境会将tomcat ssl-port配置为8443或9010调试,也很正常。
生产环境已完成apache负载平衡(tomcat分别部署在4台主机上),并且外部网络https-9010对应于Intranet的https-8443。
请给大神一个方向。”
答案 1 :(得分:0)
webview google security和ssl存在一些问题,请尝试使用https而不是http,如果仅使用url http,则可以忽略SSL证书错误。要忽略此问题,请重写onReceivedSslError并删除super.onReceivedSslError(view,处理程序,错误);
webView.setWebViewClient(new WebViewClient(){
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
// DOT CALL SUPER METHOD
super.onReceivedSslError(view, handler, error);
}
});
并解决Google安全问题
setDomStorageEnabled(true);
完整代码如下:
webView.enableJavaScript();
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.setWebViewClient(new WebViewClient(){
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
}
});
要查看此问题,请访问此link