WebView证书异常处理
/**
* webview的客户端
*/
public class WebViewClient extends android.webkit.WebViewClient{
public WebViewClient() {
super();
}
//该方法接收webView验证证书时发现的错误
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if (!StringUtils.isNull(url)
&& url.contains("mobile/recharge/error")) {
SetUtil.showLogIn(getContext());
}
}
}
当webView验证url证书发现问题时,回调<code>onReceivedSslError</code>方法
像代码中调用<code>handler.proceed()</code>,可以使WebView忽略证书问题继续访问;如果调用<code>handler.cancel()</code>,则是让WebView取消继续加载。
相关参考
[Android 安全--WebView不校验证书漏洞 ][foo]
[foo]: http://blog.csdn.net/xundh/article/details/53065788 "感谢文章作者"