Okhttp框架耳熟能祥了,现在还有了okgo之类的二次开发框架,对于初学者来说Retrofit+rxjava之类的东西,代码也很多了,也没什么新意了。今天来讲讲,怎么使得OKHTTP几行代码支持HTTPS。
1.集成EasyHttps的依赖
1.1 将你的根目录下的build.gradle文件中添加仓库设置
allprojects {
repositories {
maven {
url 'https://jitpack.io'
}
}
}
1.2Add the dependency
1.2在你的APP中的build.gradle中添加依赖
dependencies {
implementation 'com.github.weishubaoforwork:EasyHttps:1.0'
}
使用EasyHttps进行绕过证书对Https进行请求 (没有证书可以使用这一步)
1 OkhttpClient的Builder设置以下代码
okHttpClient = new OkHttpClient();
okHttpClient.newBuilder()
.connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS).sslSocketFactory(HttpsUtils.getSslSocketFactory(null,null,null))
.hostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});使用EasyHttps进行自定义证书对Https进行请求 (有证书的这样写)
1 请先将你的同事提供给你的.cer自定义证书文件放入Assets文件夹下,没有的自己创建一个
2 OkhttpClient的Builder设置以下代码
okHttpClient = new OkHttpClient();
okHttpClient.newBuilder()
.connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.sslSocketFactory(HttpsUtils.getSSlFactory(context,"certificate.cer")).hostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
Github地址:https://github.com/weishubaoforwork/EasyHttps
喜欢的朋友点个赞,您的支持是我最大的动力
版权声明:本文为qq_37301611原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。