首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

新浪微博请求数据疏失(Android Volley Https证书不信任)的解决方案

2013-10-07 
新浪微博请求数据出错(Android Volley Https证书不信任)的解决方案今天在调用新浪微博android sdk时出现Ht

新浪微博请求数据出错(Android Volley Https证书不信任)的解决方案

今天在调用新浪微博android sdk时出现Https证书不信任的问题,查了很多资料终于解决了,在这里把解决方案分享给大家。

错误如下:

javax.net.ssl.SSLHandshakeException: org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate signature

具体错误如下:

http请求No peer certificate的解决方法

但是里面提出的解决方案都是针对自己实现HttpClient或者HttpURLConnection的,而我是使用了Google官方提供的Volley,如果要修改源码的话比较麻烦。于是我大胆猜测Volley底层是采用HttpURLConnection实现的,可以在进行StringRequest之前设置一个X509TrustManager。

首先新建一个类FakeX509TrustManager:

FakeX509TrustManager.allowAllSSL();mStringRequest = new StringRequest(Request.Method.POST,url,getDefaultSuccessListener(),mErrorListener){            @Override            protected Map<String, String> getParams() throws AuthFailureError {                return params;            }};mRequestQueue.add(mStringRequest);

再次运行则发现可以正常获取数据。


如果大家觉得对自己有帮助的话,还希望能帮顶一下,谢谢:)个人博客:http://blog.csdn.net/zhaoxy2850本文地址:http://blog.csdn.net/zhaoxy_thu/article/details/12360473转载请注明出处,谢谢!

热点排行