星辰影院解锁vip v1.0.4版本的 MD5 值为:3d99bbcbb0d5d5e568b9f6134424c24e
以下内容为反编译后的 a.java 源代码,内容仅作参考
package com.qiyi.c.a.r;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class a {
private String a;
private String f8527c;
private String f8526b = null;
private Random f8528d = new Random();
public a(String str, String str2) {
this.a = str;
this.f8527c = str2;
}
private List<String> b(String str) throws IOException {
int nextInt = this.f8528d.nextInt();
StringBuilder sb = new StringBuilder();
HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(str).openConnection();
httpURLConnection.setRequestProperty("Check-Number", Integer.toString(nextInt));
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
while (true) {
String readLine = bufferedReader.readLine();
if (readLine == null) {
break;
}
sb.append(readLine);
}
bufferedReader.close();
for (Map.Entry<String, List<String>> entry : httpURLConnection.getHeaderFields().entrySet()) {
if (entry.getKey() != null && entry.getKey().equalsIgnoreCase("Check-Number")) {
if (!entry.getValue().get(0).trim().equals(Integer.toString(nextInt))) {
throw new IOException("Check-Number not match.");
}
} else if (entry.getKey() != null && entry.getKey().equalsIgnoreCase("Query-Result")) {
if (!sb.toString().equals(entry.getValue().get(0))) {
throw new IOException("Query-Result not match");
}
}
}
return Arrays.asList(sb.toString().split(";"));
}
public List<InetAddress> a(String str) throws IOException {
List<String> b2;
List<String> b3;
ArrayList arrayList = null;
if (str != null && str.length() != 0) {
if (this.f8526b == null && (b3 = b(String.format("http://%s/d?dn=%s", this.a, this.f8527c))) != null && b3.size() > 0) {
this.f8526b = b3.get(0);
}
String str2 = this.f8526b;
if (str2 != null && (b2 = b(String.format("http://%s/d?dn=%s", str2, str))) != null && b2.size() > 0) {
arrayList = new ArrayList();
Iterator<String> it2 = b2.iterator();
while (it2.hasNext()) {
arrayList.add(InetAddress.getByName(it2.next()));
}
}
}
return arrayList;
}
}