Android Okhttp使用Https一步到位!EasyHttps使用教程

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

喜歡的朋友點個贊,您的支持是我最大的動力 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章