OKhttp3对HTTPS的解析

来源:互联网 发布:济南知远心理咨询中心 编辑:程序博客网 时间:2024/06/05 00:49

http://blog.csdn.net/lmj623565791/article/details/48129405 鸿洋大神的这个文章说的很明白,但是随着OKhttp的改版,有的方法已经不存在了。
比如说:

mOkHttpClient.setSslSocketFactory(sslContext.getSocketFactory());

这个方法,已经没有了。
但是只要OKhttp依然支持HTTPS的解析,那么肯定还有类似的方法可以使用。
然后我们查看OKhttpClient的源码:找到了这个方法

public Builder sslSocketFactory(SSLSocketFactory sslSocketFactory) 

我们知道,一般初始化的时候OKhttp都是通过builder来创建的,以便我们设置

Builder(OkHttpClient okHttpClient) {      this.dispatcher = okHttpClient.dispatcher;      this.proxy = okHttpClient.proxy;      this.protocols = okHttpClient.protocols;      this.connectionSpecs = okHttpClient.connectionSpecs;      this.interceptors.addAll(okHttpClient.interceptors);      this.networkInterceptors.addAll(okHttpClient.networkInterceptors);      this.proxySelector = okHttpClient.proxySelector;      this.cookieJar = okHttpClient.cookieJar;      this.internalCache = okHttpClient.internalCache;      this.cache = okHttpClient.cache;      this.socketFactory = okHttpClient.socketFactory;      this.sslSocketFactory = okHttpClient.sslSocketFactory;      this.certificateChainCleaner = okHttpClient.certificateChainCleaner;      this.hostnameVerifier = okHttpClient.hostnameVerifier;      this.certificatePinner = okHttpClient.certificatePinner;      this.proxyAuthenticator = okHttpClient.proxyAuthenticator;      this.authenticator = okHttpClient.authenticator;      this.connectionPool = okHttpClient.connectionPool;      this.dns = okHttpClient.dns;      this.followSslRedirects = okHttpClient.followSslRedirects;      this.followRedirects = okHttpClient.followRedirects;      this.retryOnConnectionFailure = okHttpClient.retryOnConnectionFailure;      this.connectTimeout = okHttpClient.connectTimeout;      this.readTimeout = okHttpClient.readTimeout;      this.writeTimeout = okHttpClient.writeTimeout;    }

然后我们可以看到this.sslSocketFactory,所以方法我们可以改成:
builder.sslSocketFactory(setCertificates(context.getAssets().open(“-12306cn.crt”)));
因为12306的界面现在已经这里写图片描述所以我目前没有找到可测试的网站。大家感兴趣的可以自己测试使用一下。

原创粉丝点击