正在查看: 用信花 v1.1.3 应用的 p.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 用信花 v1.1.3 应用的 p.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package i1;
import java.net.InetAddress;
import java.util.Iterator;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
public class p {
public ExecutorService f4396a = Executors.newSingleThreadExecutor();
public class a implements Callable<String> {
public a() {
}
@Override
public String call() {
Iterator<String> it = c1.a.f1064o0.iterator();
while (it.hasNext()) {
String c4 = p.this.c(it.next());
if (c4 != null) {
return c4;
}
}
return b1.b.f991j;
}
}
public String a() {
try {
FutureTask<String> d2 = d();
this.f4396a.execute(d2);
return d2.get(2L, TimeUnit.SECONDS);
} catch (TimeoutException e4) {
o.e(c1.d.f1122i, "preFetchDnsMethod TimeoutException=", e4);
return b1.b.f991j;
} catch (Exception e5) {
e5.printStackTrace();
o.e(c1.d.f1122i, "preFetchDnsMethod Exception_e=", e5);
return b1.b.f991j;
}
}
public final synchronized String c(String str) {
long currentTimeMillis = System.currentTimeMillis();
try {
InetAddress[] allByName = InetAddress.getAllByName(str);
if (allByName != null) {
for (InetAddress inetAddress : allByName) {
if (inetAddress != null) {
String hostAddress = inetAddress.getHostAddress();
if (!"0.0.0.0".equals(hostAddress) && !"255.255.255.255".equals(hostAddress) && !"127.0.0.1".equals(hostAddress) && !"224.0.0.1".equals(hostAddress) && !hostAddress.startsWith("169.254.") && !hostAddress.contains(" ") && !hostAddress.startsWith("::")) {
o.c(c1.d.f1122i, "getDomainName domainName", str);
return str;
}
o.c(c1.d.f1122i, "getDomainName name", str);
}
}
}
} catch (Throwable th) {
th.printStackTrace();
o.e(c1.d.f1122i, "getDomainName Exception_e=", th, "__耗时", Long.valueOf(System.currentTimeMillis() - currentTimeMillis));
}
return null;
}
public final FutureTask<String> d() {
return new FutureTask<>(new a());
}
}