星辰影院解锁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;
    }
}