读书人

新浪微博请求数据疏失(Android Volle

发布时间: 2013-10-07 19:41:22 作者: rapoo

新浪微博请求数据出错(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转载请注明出处,谢谢!

读书人网 >Android

热点推荐