OkhttpUtils的https請求
網(wǎng)絡(luò)請求中使用OkhttpUtils,原本的http請求沒有什么問題。后來,項目中或成了https,所有請求就出問題了。
項目中的OkhttpUtils用的是張鴻洋大神封裝的沫浆,找到github中大神的主頁,驀然找到了答案崇败。
設(shè)置可訪問所有的https網(wǎng)站
HttpsUtils.SSLParams sslParams = HttpsUtils.getSslSocketFactory(null, null, null);
OkHttpClient okHttpClient = new OkHttpClient.Builder()
//其他配置
...
.sslSocketFactory(sslParams.sSLSocketFactory, sslParams.trustManager)
.build();
OkHttpUtils.initClient(okHttpClient);
設(shè)置具體的證書
HttpsUtils.SSLParams sslParams = HttpsUtils.getSslSocketFactory(證書的inputstream, null, null);
OkHttpClient okHttpClient = new OkHttpClient.Builder()
//其他配置
...
.sslSocketFactory(sslParams.sSLSocketFactory, sslParams.trustManager))
.build();
OkHttpUtils.initClient(okHttpClient);
如果還是有問題的話,建議在代碼中其他配置處加上一句代碼:
.hostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
})
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者