okhttp 网络配置

This commit is contained in:
wzq
2023-10-09 14:21:36 +08:00
parent dca7f68130
commit 9ce499c027
3 changed files with 10 additions and 42 deletions

View File

@@ -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"

View File

@@ -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"

View File

@@ -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;
}