android-async-http访问https的地址,怎么使用?

JASON-WONG 发布于 2016/05/06 17:07
阅读 950
收藏 0
在使用 android-async-http进行数据请求时,如何向https开头的链接发送请求?应该怎么写啊?求大神!!!
加载中
0
d
dujianchi
AsyncHttpClient httpClient = new AsyncHttpClient(true, 80, 443);
这样就足够
0
JASON-WONG
JASON-WONG

引用来自“dujianchi”的评论

AsyncHttpClient httpClient = new AsyncHttpClient(true, 80, 443);
这样就足够
这个我尝试了,的确可以,能解释下原理么?我使用AsyncHttpClient client =new AsyncHttpClient();
client.setSSLSocketFactory(MySSLSocketFactory.getFixedSocketFactory());这样也可以,这是我在stackoverflow上面找到的答案,但都是不知道什么原理。这种情况下是不是信任所有证书了?  我要访问的https地址是我自己搭建的后台,在tomcat下配置的https链接。
0
JASON-WONG
JASON-WONG

引用来自“dujianchi”的评论

AsyncHttpClient httpClient = new AsyncHttpClient(true, 80, 443);
这样就足够
希望大神给我解释一下吧,不然用着心里不踏实。
0
d
dujianchi


X509TrustManager tm = new X509TrustManager() { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
    } public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
    } public X509Certificate[] getAcceptedIssuers() { return null;
    }
};


如上代码。本来https应该在上面的

checkServerTrusted

方法内验证服务器证书的,但是放空了,就代表了信任了所有的服务器证书。

HttpClient的初始化方法传的第一个true叫fixNoHttpResponseException,为true时就会把SSLSockFactory用MySSLSocketFactory.getFixedSocketFactory()初始化。所以你的方法也可以就是这个原因。

这种情况是信任所有证书没错的


返回顶部
顶部