httpdns 缓存策略,特殊接口获取 httpdns 服务

This commit is contained in:
wangcongtao
2020-11-20 09:53:08 +08:00
parent 65a380cd42
commit 5fa8644bb3
15 changed files with 392 additions and 53 deletions

View File

@@ -1,11 +1,11 @@
package com.mogo.utils.network;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import okhttp3.ConnectionPool;
import okhttp3.Dns;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
@@ -52,7 +52,11 @@ public final class OkHttpFactory {
HttpDns httpDns = NetConfig.instance().getHttpDns();
if ( httpDns != null ) {
builder.dns( hostname -> {
return httpDns.lookup( hostname );
List< InetAddress > addresses = httpDns.lookup( hostname );
if ( addresses != null && !addresses.isEmpty() ) {
return addresses;
}
return Dns.SYSTEM.lookup( hostname );
} );
}