webview使用sslError解决https跳转报错的问题

转载 2013年12月02日 10:49:21

到底如何使用WebView访问https的url——处理SslError呢?
在Android中,WebView是用来load http和https网页到本地应用的控件。在默认情况下,通过loadUrl(String url)方法,可以顺利load。但是,当load有ssl层的https页面时,如果这个网站的安全证书在Android无法得到认证,WebView就会变成一个空白页,而并不会像PC浏览器中那样跳出一个风险提示框。因此,我们必须针对这种情况进行处理。(这个证书限于2.1版本以上的Android 系统才可以)

Android的处理要用到两个类

(1)import android.NET.http.SslError;

(2)import android.webkit.SslErrorHandler;

具体的用法如下:
 

WebView wv = (WebView) findViewById(R.id.webview);  

  wv.setWebViewClient(new WebViewClient(){  

  public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){  

  //handler.cancel(); 默认的处理方式,WebView变成空白页  

   //handler.process();接受证书  

  //handleMessage(Message msg); 其他处理  

  }  

查看Android浏览器源码在TabControl.Java类中SubWindowClient方法中找,如果只是简单的接受所有证书的话,就直接调process()方法就行了

 

但是sslerror是从2.2才开始提供的。之前的版本怎么办?
可以把android2.2中onReceivedSslError()的源码导入到自己的工程中,具体方法如下:
先把android2.2包中的SslError.java和WebViewClient.java导入到自己的工程中,在导入时需要建立和android2.2源码包中一样的包名。然后在用webview的时候导包就导自己工程里的这个包名就行!

相关文章推荐

解决ThinkJS项目开发中页面跳转报错问题

很多时候在我们查询某一项数据时,在数据过多的时候我们会选择分页展示,但是很多时候会发现在进行页面跳转时会出现报错,报错内容是数据库查询条件为空。 问题分析其实问题很简单,报错的原因是因为代码获取到的查...

android学习--activity跳转报错--以及怎么确定哪一个activity开始

一、activity跳转问题       我在学textview的时候,案例是教我重新建立一个xml文件,以及相关的activity类,来生成一个新的界面,再通过一开始界面上的一个button来...

windows下 Ruby使用国内https源时出现的ssl报错的解决办法

在windows下使用ruby-china源的时候,出现SSL错误的解决办法整理。

Spring MVC使用@ResponseBody无法跳转到对应的jsp页面以及ie8下报错的解决方法

Spring MVC使用@ResponseBody无法跳转到对应的jsp页面已经ie8下报错的解决方法

解决android 6.0 webview加载https出现空白页问题

解决android 6.0 webview加载https出现空白页问题由于公司项目换成的https接口,其他数据都能加载正常,而webview加载https页面出现空白页,查看logcat: Thi...

Android使用Webview显示页面以及点击跳转startActivity问题

以下是个人拙见,大神可直接忽略。       直接奔入主题,android的一个webview控件相信大家都特别熟悉了,可以用来加载显示网页,像商城的商品图文详情就可以用网页很快实现,但是最近项目中...
  • a_ycmbc
  • a_ycmbc
  • 2016年05月10日 09:45
  • 1435

关于加载cocos2dx动画问题,跳转页面后回来不显示,报错找不到资源

cocos2d: Cann't find CCSpriteFrame with elf3.png. Please check your .plist file cocos2d: Cann't find...

CAD与VB报错问题解决方案.txt

  • 2015年08月22日 22:45
  • 456B
  • 下载

apache 强制跳转HTTPS的问题解决

访问自己本地的网站,会出现强制跳转HTTPS的问题,首先看自己的代码,确定非代码问题, 非 SPRING 引起, 非APACHE 配置443的原因。 经查是因为 HSTS(HTT...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:webview使用sslError解决https跳转报错的问题
举报原因:
原因补充:

(最多只允许输入30个字)