okhttp 网络配置
This commit is contained in:
@@ -81,7 +81,7 @@
|
||||
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
<!-- 对于 Android 12.0 及以上设备,还需要添加如下权限: -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||
|
||||
<application
|
||||
android:name=".application.XChatApplication"
|
||||
@@ -1015,7 +1015,9 @@
|
||||
android:name="flutterEmbedding"
|
||||
android:value="2" />
|
||||
|
||||
<meta-data android:name="Mob-Https" android:value="yes"/>
|
||||
<meta-data
|
||||
android:name="Mob-Https"
|
||||
android:value="yes" />
|
||||
|
||||
<provider
|
||||
android:name="com.netease.nimlib.ipc.NIMContentProvider"
|
||||
|
@@ -66,7 +66,7 @@ dependencies {
|
||||
|
||||
def glideVersion = "4.13.2"
|
||||
def retrofitVersion = "2.9.0"
|
||||
def okhttp3 = "4.9.3"
|
||||
def okhttp3 = "4.10.0"
|
||||
def okio = "2.8.0"
|
||||
def rxjava_adapter = "2.3.0"
|
||||
def rxjava = "2.1.7"
|
||||
|
@@ -76,10 +76,10 @@ public final class RxNetManager {
|
||||
mBuilder.addInterceptor(interceptor);
|
||||
}
|
||||
|
||||
mBuilder.readTimeout(readTimeout > 0 ? readTimeout : DEFAULT_READ_TIME_OUT, TimeUnit.MILLISECONDS)
|
||||
.writeTimeout(writeTimeout > 0 ? writeTimeout : DEFAULT_WRITE_TIME_OUT, TimeUnit.MILLISECONDS)
|
||||
.connectTimeout(connectTimeout > 0 ? connectTimeout : DEFAULT_CONNECT_TIME_OUT, TimeUnit.MILLISECONDS)
|
||||
.connectionPool(new ConnectionPool(10, 5, TimeUnit.MINUTES));
|
||||
//mBuilder.readTimeout(readTimeout > 0 ? readTimeout : DEFAULT_READ_TIME_OUT, TimeUnit.MILLISECONDS)
|
||||
// .writeTimeout(writeTimeout > 0 ? writeTimeout : DEFAULT_WRITE_TIME_OUT, TimeUnit.MILLISECONDS)
|
||||
// .connectTimeout(connectTimeout > 0 ? connectTimeout : DEFAULT_CONNECT_TIME_OUT, TimeUnit.MILLISECONDS)
|
||||
// .connectionPool(new ConnectionPool(10, 5, TimeUnit.MINUTES));
|
||||
// 无代理设置,防止被抓包
|
||||
// 指定只要不是 release 包都可以抓包,方便测试进行验证问题
|
||||
if (Objects.equals(BuildConfig.BUILD_TYPE, "release")) {
|
||||
@@ -96,14 +96,7 @@ public final class RxNetManager {
|
||||
});
|
||||
}
|
||||
|
||||
//https 支持
|
||||
if (sslParams != null) {
|
||||
mBuilder.sslSocketFactory(sslParams.sSLSocketFactory, sslParams.trustManager);
|
||||
}
|
||||
if (hostnameVerifier != null) {
|
||||
mBuilder.hostnameVerifier(hostnameVerifier);
|
||||
}
|
||||
mOkHttpClient = enableTls12OnPreLollipop(mBuilder).build();
|
||||
mOkHttpClient = mBuilder.build();
|
||||
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").serializeNulls().create();
|
||||
mRetrofit = new Retrofit.Builder()
|
||||
.client(mOkHttpClient)
|
||||
@@ -114,33 +107,6 @@ public final class RxNetManager {
|
||||
|
||||
}
|
||||
|
||||
public static OkHttpClient.Builder enableTls12OnPreLollipop(OkHttpClient.Builder client) {
|
||||
if (Build.VERSION.SDK_INT < 22) {
|
||||
try {
|
||||
SSLContext sc = SSLContext.getInstance("TLSv1.2");
|
||||
sc.init(null, null, null);
|
||||
client.sslSocketFactory(new Tls12SocketFactory(sc.getSocketFactory()));
|
||||
|
||||
ConnectionSpec cs = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
|
||||
// .allEnabledTlsVersions()
|
||||
// .allEnabledCipherSuites()
|
||||
.tlsVersions(TlsVersion.TLS_1_2)
|
||||
.build();
|
||||
|
||||
List<ConnectionSpec> specs = new ArrayList<>();
|
||||
specs.add(cs);
|
||||
specs.add(ConnectionSpec.COMPATIBLE_TLS);
|
||||
specs.add(ConnectionSpec.CLEARTEXT);
|
||||
|
||||
client.connectionSpecs(specs);
|
||||
} catch (Exception exc) {
|
||||
Log.e("OkHttpTLSCompat", "Error while setting TLS 1.2", exc);
|
||||
}
|
||||
}
|
||||
|
||||
return client;
|
||||
}
|
||||
|
||||
public Retrofit getRetrofit() {
|
||||
return mRetrofit;
|
||||
}
|
||||
|
Reference in New Issue
Block a user