CarrotChat v2.8.80.240429版本的 MD5 值为:fdf98761f01e715a89df24b85b0d206e

以下内容为反编译后的 HttpURLTools.java 源代码,内容仅作参考


package ak.im.utils;

import ak.im.BuildConfig;
import ak.im.module.AkeyChatX509PrivateCA;
import ak.im.sdk.manager.XMPPConnectionManager;
import ak.im.uitls.AKCAppConfiguration;
import android.os.Build;
import android.os.SystemClock;
import android.text.TextUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.qiniu.android.dns.NetworkInfo;
import com.zerotier.libzt.ZeroTierSocketFactory;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.net.Socket;
import java.net.URL;
import java.net.URLConnection;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.UnrecoverableKeyException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.KeyManager;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager;
import okhttp3.logging.HttpLoggingInterceptor;
import okhttp3.m;
import okhttp3.o;
import org.apache.http.protocol.HTTP;
import org.conscrypt.OpenSSLContextImpl;
import org.jivesoftware.smack.AbstractXMPPConnection;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.util.TLSUtils;
import org.jivesoftware.smackx.ping.PingManager;

public class HttpURLTools {

    private static Map<String, AkeyChatX509PrivateCA> f10132b;

    public static HostnameVerifier f10131a = new HostnameVerifier() {
        @Override
        public final boolean verify(String str, SSLSession sSLSession) {
            boolean e10;
            e10 = HttpURLTools.e(str, sSLSession);
            return e10;
        }
    };

    private static int f10133c = 0;

    static X509TrustManager f10134d = new b();

    private static okhttp3.f f10135e = new okhttp3.f(3, 10000, TimeUnit.MILLISECONDS);

    public static HashSet<String> f10136f = new HashSet<>();

    public static HashSet<String> f10137g = new HashSet<>();

    public static HashSet<String> f10138h = new HashSet<>();

    public enum UrlType {
        PublicNetworkInternalUrl,
        PublicNetworkExternalUrl,
        BoxNetNetworkInternalUrl
    }

    class a implements ye.c {

        final a1.u f10140a;

        final String f10141b;

        final String f10142c;

        a(a1.u uVar, String str, String str2) {
            this.f10140a = uVar;
            this.f10141b = str;
            this.f10142c = str2;
        }

        @Override
        public void onFailure(okhttp3.c cVar, IOException iOException) {
            a1.u uVar = this.f10140a;
            if (uVar != null) {
                uVar.onRecvResult(false, this.f10141b, null);
            }
            AkeyChatUtils.logException(iOException);
        }

        @Override
        public void onResponse(okhttp3.c cVar, okhttp3.p pVar) throws IOException {
            Log.i("HttpURLTools", "lwxdownload response code is " + pVar.code());
            int code = pVar.code();
            String str = null;
            if (code != 200) {
                if (code == 403) {
                    try {
                        JSONObject parseObject = JSON.parseObject(new String(pVar.body().bytes()));
                        if (parseObject.containsKey("return_code") && parseObject.getInteger("return_code").intValue() == 50332419 && parseObject.containsKey("description")) {
                            str = parseObject.getString("description");
                        }
                    } catch (Exception e10) {
                        e10.printStackTrace();
                    }
                }
                a1.u uVar = this.f10140a;
                if (uVar != null) {
                    uVar.onRecvResult(false, this.f10141b, str);
                    return;
                }
                return;
            }
            try {
                if (this.f10140a != null) {
                    Log.i("HttpURLTools", "lwxdownload start");
                    InputStream byteStream = pVar.body().byteStream();
                    if (FileUtil.isVaultPath(this.f10142c)) {
                        System.out.println("downloading and save to vault file system.");
                        FileUtil.createVaultDirByFilePath(this.f10142c);
                        String path = FileUtil.f10114a.getPath(this.f10142c);
                        FileUtil.deleteFile(path);
                        String str2 = FileUtil.getGlobalCachePath() + "temp" + o3.getRightTime();
                        File file = new File(str2);
                        if (file.exists()) {
                            file.delete();
                        }
                        FileUtil.copyFile(byteStream, str2);
                        FileUtil.f10114a.encryptFile(str2, path, (m0.b) null);
                    } else {
                        FileUtil.createDir(new File(this.f10142c).getParentFile());
                        FileUtil.write(new File(this.f10142c), byteStream);
                    }
                    Log.i("HttpURLTools", "lwxdownload success");
                    this.f10140a.onRecvResult(true, this.f10141b, null);
                }
            } catch (Throwable th) {
                th.printStackTrace();
                Log.e("HttpURLTools", "lwxdownload onResponse failed,error is " + th.getMessage());
                a1.u uVar2 = this.f10140a;
                if (uVar2 != null) {
                    uVar2.onRecvResult(false, this.f10141b, null);
                }
            }
        }
    }

    class b implements X509TrustManager {
        b() {
        }

        @Override
        public void checkClientTrusted(X509Certificate[] x509CertificateArr, String str) {
        }

        @Override
        public void checkServerTrusted(X509Certificate[] x509CertificateArr, String str) {
        }

        @Override
        public X509Certificate[] getAcceptedIssuers() {
            return new X509Certificate[0];
        }
    }

    public static class c implements X509TrustManager {

        private X509TrustManager f10143a;

        private X509TrustManager f10144b;

        public c(X509TrustManager x509TrustManager) throws NoSuchAlgorithmException, KeyStoreException {
            TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
            trustManagerFactory.init((KeyStore) null);
            this.f10143a = HttpURLTools.c(trustManagerFactory.getTrustManagers());
            this.f10144b = x509TrustManager;
        }

        @Override
        public void checkClientTrusted(X509Certificate[] x509CertificateArr, String str) throws CertificateException {
        }

        @Override
        public void checkServerTrusted(X509Certificate[] x509CertificateArr, String str) throws CertificateException {
            try {
                this.f10143a.checkServerTrusted(x509CertificateArr, str);
            } catch (CertificateException unused) {
                X509TrustManager x509TrustManager = this.f10144b;
                if (x509TrustManager != null) {
                    x509TrustManager.checkServerTrusted(x509CertificateArr, str);
                }
            }
        }

        @Override
        public X509Certificate[] getAcceptedIssuers() {
            return new X509Certificate[0];
        }
    }

    public static class d implements ye.i {

        y9.a f10145b = new y9.a(NetworkInfo.f30671d, new y9.c[]{new z9.e("223.5.5.5"), new z9.e("8.8.8.8"), new z9.f("https://dns.alidns.com/dns-query")});

        @Override
        public List<InetAddress> lookup(String str) throws UnknownHostException {
            try {
                Long valueOf = Long.valueOf(System.currentTimeMillis());
                List<InetAddress> asList = Arrays.asList(this.f10145b.queryInetAdress(new y9.b(str)));
                Log.e("OkHttpDns", "inetAddresses:" + asList + ", for " + str + ", elapsed " + String.valueOf(System.currentTimeMillis() - valueOf.longValue()));
                return asList;
            } catch (IOException e10) {
                e10.printStackTrace();
                return ye.i.f49362a.lookup(str);
            }
        }
    }

    public static class e {

        public SSLSocketFactory f10146a;

        public X509TrustManager f10147b;
    }

    public static class g implements X509TrustManager {
        @Override
        public void checkClientTrusted(X509Certificate[] x509CertificateArr, String str) throws CertificateException {
        }

        @Override
        public void checkServerTrusted(X509Certificate[] x509CertificateArr, String str) throws CertificateException {
        }

        @Override
        public X509Certificate[] getAcceptedIssuers() {
            return new X509Certificate[0];
        }
    }

    public static X509TrustManager c(TrustManager[] trustManagerArr) {
        for (TrustManager trustManager : trustManagerArr) {
            if (trustManager instanceof X509TrustManager) {
                return (X509TrustManager) trustManager;
            }
        }
        return null;
    }

    public static boolean canOpenUrl() {
        XMPPConnectionManager.Companion companion = XMPPConnectionManager.INSTANCE;
        AbstractXMPPConnection connection = companion.getInstance().getConnection();
        if (connection == null || !connection.isConnected() || !connection.isAuthenticated()) {
            return false;
        }
        try {
            return PingManager.getInstanceFor(companion.getInstance().getConnection()).pingMyServer(false, 5000L);
        } catch (InterruptedException e10) {
            e10.printStackTrace();
            return false;
        } catch (SmackException.NotConnectedException e11) {
            e11.printStackTrace();
            return false;
        }
    }

    public static UrlType checkHttpUrlType(String str) {
        boolean z10;
        if (q5.isEmptyString(str)) {
            return UrlType.PublicNetworkExternalUrl;
        }
        if (f10137g.size() == 0) {
            initOssServerHosts(null);
        }
        boolean z11 = false;
        try {
            String host = new URL(str).getHost();
            Log.i("HttpURLTools", "check host " + host + " with main servers: " + f10136f + ", oss servers: " + f10137g + ", id nodes: " + f10138h);
            z10 = f10136f.contains(host);
            try {
                if (!f10137g.contains(host)) {
                }
                z11 = true;
            } catch (MalformedURLException e10) {
                e = e10;
                AkeyChatUtils.logException(e);
                if (!z11) {
                }
            }
        } catch (MalformedURLException e11) {
            e = e11;
            z10 = false;
        }
        if (!z11) {
            return UrlType.PublicNetworkInternalUrl;
        }
        if (z10) {
            return UrlType.PublicNetworkInternalUrl;
        }
        return UrlType.PublicNetworkExternalUrl;
    }

    private static AkeyChatX509PrivateCA d(URL url) {
        if (f10132b == null) {
            f10132b = new HashMap();
        }
        String host = url.getHost();
        Log.i("HttpURLTools", "x509 key:" + host + " url:" + url);
        AkeyChatX509PrivateCA akeyChatX509PrivateCA = f10132b.get(host);
        if (akeyChatX509PrivateCA == null) {
            try {
                akeyChatX509PrivateCA = new AkeyChatX509PrivateCA(url);
            } catch (CertificateException e10) {
                e10.printStackTrace();
            }
            f10132b.put(host, akeyChatX509PrivateCA);
        } else {
            StringBuilder sb2 = new StringBuilder();
            sb2.append("we save one:");
            int i10 = f10133c;
            f10133c = i10 + 1;
            sb2.append(i10);
            Log.i("HttpURLTools", sb2.toString());
        }
        return akeyChatX509PrivateCA;
    }

    public static boolean e(String str, SSLSession sSLSession) {
        return true;
    }

    public static byte[] getBytesFromHttpsUrl(String str, int i10, String str2, String str3) {
        return getBytesFromOkHttpsUrl(str, i10, null, str2, str3);
    }

    public static byte[] getBytesFromOkHttpsUrl(String str, int i10, a1.u uVar, String str2, String str3) {
        SystemClock.uptimeMillis();
        try {
            m.b okHttpClientBuilder = getOkHttpClientBuilder(str, str2, false);
            if (uVar != null) {
                Iterator<okhttp3.l> it = okHttpClientBuilder.interceptors().iterator();
                while (it.hasNext()) {
                    if (it.next() instanceof u0.n) {
                        it.remove();
                    }
                }
                okHttpClientBuilder.addInterceptor(new u0.n(uVar, str));
            }
            m.b readTimeout = okHttpClientBuilder.retryOnConnectionFailure(true).connectTimeout(10L, TimeUnit.SECONDS).readTimeout(i10, TimeUnit.MILLISECONDS);
            if (AKCAppConfiguration.f9925a.CanDnsResolve()) {
                readTimeout.dns(new d());
            }
            okhttp3.p execute = readTimeout.build().newCall(setHeadIfSeaweed(str, new o.a().url(str), str3)).execute();
            if (uVar != null) {
                uVar.onRecvResult(true, str, null);
            }
            Log.i("HttpURLTools", "response code is " + execute.code());
            execute.body().contentLength();
            if (execute.code() != 200) {
                return null;
            }
            return execute.body().bytes();
        } catch (Exception e10) {
            AkeyChatUtils.logException(e10);
            return null;
        }
    }

    public static void getBytesFromOkHttpsUrlAsync(String str, String str2, int i10, a1.u uVar, String str3, String str4) {
        SystemClock.uptimeMillis();
        m.b okHttpClientBuilder = getOkHttpClientBuilder(str2, str4, false);
        try {
            List<okhttp3.l> interceptors = okHttpClientBuilder.interceptors();
            Iterator<okhttp3.l> it = okHttpClientBuilder.networkInterceptors().iterator();
            Iterator<okhttp3.l> it2 = interceptors.iterator();
            while (it2.hasNext()) {
                okhttp3.l next = it2.next();
                if ((next instanceof u0.n) || (next instanceof HttpLoggingInterceptor)) {
                    it2.remove();
                }
            }
            while (it.hasNext()) {
                okhttp3.l next2 = it.next();
                if ((next2 instanceof u0.n) || (next2 instanceof HttpLoggingInterceptor)) {
                    it.remove();
                }
            }
            if (uVar != null) {
                okHttpClientBuilder.addNetworkInterceptor(new u0.n(uVar, str2));
            }
        } catch (Exception e10) {
            e10.printStackTrace();
        }
        m.b readTimeout = okHttpClientBuilder.retryOnConnectionFailure(true).connectTimeout(10L, TimeUnit.SECONDS).readTimeout(i10, TimeUnit.MILLISECONDS);
        if (AKCAppConfiguration.f9925a.CanDnsResolve()) {
            readTimeout.dns(new d());
        }
        readTimeout.build().newCall(setHeadIfSeaweed(str2, new o.a().url(str2), str)).enqueue(new a(uVar, str2, str3));
    }

    public static InputStream getInputStreamFromOkHttpsUrl(String str, int i10, String str2, String str3) {
        try {
            m.b readTimeout = getOkHttpClientBuilder(str, str2, false).retryOnConnectionFailure(true).connectTimeout(10L, TimeUnit.SECONDS).readTimeout(i10, TimeUnit.MILLISECONDS);
            if (AKCAppConfiguration.f9925a.CanDnsResolve()) {
                readTimeout.dns(new d());
            }
            okhttp3.p execute = readTimeout.build().newCall(setHeadIfSeaweed(str, new o.a().url(str), str3)).execute();
            Log.i("HttpURLTools", "response code is " + execute.code());
            if (execute.code() == 200) {
                return execute.body().byteStream();
            }
            return null;
        } catch (Exception e10) {
            AkeyChatUtils.logException(e10);
            return null;
        }
    }

    public static SSLContext getNormalSSLContext(TrustManager trustManager) {
        try {
            TrustManager[] trustManagerArr = {trustManager};
            SSLContext sSLContext = SSLContext.getInstance(TLSUtils.PROTO_TLSV1_2);
            sSLContext.init(null, trustManagerArr, new SecureRandom());
            return sSLContext;
        } catch (KeyManagementException | NoSuchAlgorithmException e10) {
            e10.printStackTrace();
            return null;
        }
    }

    public static SSLSocketFactory getNormalSSLSocketFactory(TrustManager trustManager) {
        try {
            return getNormalSSLContext(trustManager).getSocketFactory();
        } catch (Exception e10) {
            e10.printStackTrace();
            return null;
        }
    }

    public static m.b getOkHttpClientBuilder(String str, String str2, boolean z10, boolean z11) {
        URL url;
        boolean z12;
        e eVar;
        List<okhttp3.l> interceptors;
        u0.b languageInterceptor;
        m.b connectionPool = new m.b().connectionPool(f10135e);
        if (z10) {
            url = null;
        } else {
            try {
                url = new URL(str);
            } catch (Exception e10) {
                AkeyChatUtils.logException(e10);
            }
        }
        UrlType checkHttpUrlType = checkHttpUrlType(str);
        StringBuilder sb2 = new StringBuilder();
        sb2.append("build url ");
        sb2.append(str);
        sb2.append(", type ");
        sb2.append(checkHttpUrlType);
        sb2.append(z10 ? ", skip server cert verification" : "");
        Log.i("HttpURLTools", sb2.toString());
        if (!z10 && AkeyChatUtils.oemNeedServerCertificateVerify()) {
            z12 = false;
            eVar = new e();
            if (!z11 && checkHttpUrlType != UrlType.PublicNetworkInternalUrl && checkHttpUrlType != UrlType.BoxNetNetworkInternalUrl) {
                eVar.f10147b = !z12 ? new g() : new c(null);
                eVar.f10146a = new f(getNormalSSLSocketFactory(eVar.f10147b));
                connectionPool.sslSocketFactory(eVar.f10146a, eVar.f10147b).hostnameVerifier(f10131a);
                interceptors = connectionPool.interceptors();
                languageInterceptor = u0.b.getLanguageInterceptor();
                if (interceptors != null || !interceptors.contains(languageInterceptor)) {
                    connectionPool.addInterceptor(languageInterceptor);
                }
                if (!TextUtils.isEmpty(str2)) {
                    u0.c accessTokenInterceptor = u0.c.getAccessTokenInterceptor(str2);
                    if (interceptors == null || !interceptors.contains(accessTokenInterceptor)) {
                        connectionPool.addInterceptor(accessTokenInterceptor);
                    }
                }
                if (ak.im.sdk.manager.f1.getInstance().getServer() != null) {
                    String enterpriseId = ak.im.sdk.manager.f1.getInstance().getServer().getEnterpriseId();
                    if (!TextUtils.isEmpty(enterpriseId)) {
                        Log.i("HttpURLTools", "ADD X-AK-Server-ID:" + enterpriseId);
                        u0.a xServerIDInterceptor = u0.a.getXServerIDInterceptor(enterpriseId);
                        if (interceptors == null || !interceptors.contains(xServerIDInterceptor)) {
                            connectionPool.addInterceptor(xServerIDInterceptor);
                        }
                    }
                }
                if (str != null && ((str.contains(ak.im.sdk.manager.f1.getInstance().getOssCenterHost()) || str.contains(ak.im.sdk.manager.f1.getCountServerURL())) && AKCAppConfiguration.f9925a.CanDnsResolve())) {
                    connectionPool.dns(new d());
                }
                return connectionPool;
            }
            X509TrustManager d10 = d(url);
            eVar.f10147b = d10;
            OpenSSLContextImpl.TLSv13 tLSv13 = new OpenSSLContextImpl.TLSv13();
            tLSv13.engineInit(null, new TrustManager[]{eVar.f10147b}, null);
            eVar.f10146a = tLSv13.engineGetSocketFactory();
            if (checkHttpUrlType == UrlType.BoxNetNetworkInternalUrl) {
                connectionPool.socketFactory(new ZeroTierSocketFactory(false));
            }
            connectionPool.sslSocketFactory(eVar.f10146a, eVar.f10147b).hostnameVerifier(f10131a);
            interceptors = connectionPool.interceptors();
            languageInterceptor = u0.b.getLanguageInterceptor();
            if (interceptors != null) {
            }
            connectionPool.addInterceptor(languageInterceptor);
            if (!TextUtils.isEmpty(str2)) {
            }
            if (ak.im.sdk.manager.f1.getInstance().getServer() != null) {
            }
            if (str != null) {
                connectionPool.dns(new d());
            }
            return connectionPool;
        }
        z12 = true;
        eVar = new e();
        if (!z11) {
            eVar.f10147b = !z12 ? new g() : new c(null);
            eVar.f10146a = new f(getNormalSSLSocketFactory(eVar.f10147b));
            connectionPool.sslSocketFactory(eVar.f10146a, eVar.f10147b).hostnameVerifier(f10131a);
            interceptors = connectionPool.interceptors();
            languageInterceptor = u0.b.getLanguageInterceptor();
            if (interceptors != null) {
            }
            connectionPool.addInterceptor(languageInterceptor);
            if (!TextUtils.isEmpty(str2)) {
            }
            if (ak.im.sdk.manager.f1.getInstance().getServer() != null) {
            }
            if (str != null) {
            }
            return connectionPool;
        }
        X509TrustManager d102 = d(url);
        eVar.f10147b = d102;
        OpenSSLContextImpl.TLSv13 tLSv132 = new OpenSSLContextImpl.TLSv13();
        tLSv132.engineInit(null, new TrustManager[]{eVar.f10147b}, null);
        eVar.f10146a = tLSv132.engineGetSocketFactory();
        if (checkHttpUrlType == UrlType.BoxNetNetworkInternalUrl) {
        }
        connectionPool.sslSocketFactory(eVar.f10146a, eVar.f10147b).hostnameVerifier(f10131a);
        interceptors = connectionPool.interceptors();
        languageInterceptor = u0.b.getLanguageInterceptor();
        if (interceptors != null) {
        }
        connectionPool.addInterceptor(languageInterceptor);
        if (!TextUtils.isEmpty(str2)) {
        }
        if (ak.im.sdk.manager.f1.getInstance().getServer() != null) {
        }
        if (str != null) {
        }
        return connectionPool;
    }

    public static SSLContext getSSLContext(String str, boolean z10) {
        URL url;
        boolean z11;
        SSLContext sSLContext;
        TrustManager[] trustManagerArr;
        try {
            if (!TextUtils.isEmpty(str)) {
                url = new URL(str);
            } else {
                url = null;
            }
            if (z10 && !AkeyChatUtils.isNeedVerifyCertificate(url)) {
                z11 = false;
                if (z11) {
                    trustManagerArr = new TrustManager[]{f10134d};
                    sSLContext = SSLContext.getInstance(TLSUtils.TLS);
                } else {
                    sSLContext = SSLContext.getInstance(TLSUtils.PROTO_TLSV1_2);
                    trustManagerArr = new TrustManager[]{d(url)};
                }
                sSLContext.init(null, trustManagerArr, new SecureRandom());
                return sSLContext;
            }
            z11 = true;
            if (z11) {
            }
            sSLContext.init(null, trustManagerArr, new SecureRandom());
            return sSLContext;
        } catch (MalformedURLException e10) {
            e10.printStackTrace();
            return null;
        } catch (KeyManagementException e11) {
            e11.printStackTrace();
            return null;
        } catch (NoSuchAlgorithmException e12) {
            e12.printStackTrace();
            return null;
        }
    }

    public static SSLSocketFactory getSSLSocketFactory(String str) {
        try {
            return getSSLContext(str, false).getSocketFactory();
        } catch (Exception e10) {
            e10.printStackTrace();
            return null;
        }
    }

    public static void initIdNodeHosts(String str) {
        if (q5.isEmptyString(str)) {
            return;
        }
        f10138h.add(str);
        Log.i("HttpURLTools", "id nodes updated: " + f10138h);
    }

    public static void initMainServerHosts(String str) {
        if (q5.isEmptyString(str)) {
            return;
        }
        f10136f.add(str);
        Log.i("HttpURLTools", "main servers updated: " + f10136f);
    }

    public static void initOssServerHosts(String str) {
        f10137g.add("enterprise.akeychat.cn:20443".split(":")[0]);
        f10137g.add(BuildConfig.OSS_CENTER_HOST.split(":")[0]);
        f10137g.add("statistical.akeychat.cn");
        f10137g.add("teststatistical.akeychat.cn");
        HashSet<String> hashSet = f10137g;
        AKCAppConfiguration aKCAppConfiguration = AKCAppConfiguration.f9925a;
        hashSet.add(aKCAppConfiguration.stats());
        String stats2 = aKCAppConfiguration.stats2();
        HashSet<String> hashSet2 = f10137g;
        if (stats2.contains(":")) {
            stats2 = stats2.split(":")[0];
        }
        hashSet2.add(stats2);
        f10137g.add(aKCAppConfiguration.oss());
        if (str != null) {
            f10137g.add(str);
        }
        Log.i("HttpURLTools", "oss servers updated: " + f10137g);
    }

    public static KeyManager[] prepareKeyManager(InputStream inputStream, String str) {
        if (inputStream != null && str != null) {
            try {
                KeyStore keyStore = KeyStore.getInstance("BKS");
                keyStore.load(inputStream, str.toCharArray());
                KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
                keyManagerFactory.init(keyStore, str.toCharArray());
                return keyManagerFactory.getKeyManagers();
            } catch (IOException e10) {
                e10.printStackTrace();
            } catch (KeyStoreException e11) {
                e11.printStackTrace();
            } catch (NoSuchAlgorithmException e12) {
                e12.printStackTrace();
            } catch (UnrecoverableKeyException e13) {
                e13.printStackTrace();
            } catch (CertificateException e14) {
                e14.printStackTrace();
            } catch (Exception e15) {
                e15.printStackTrace();
            }
        }
        return null;
    }

    public static String printResponse(HttpURLConnection httpURLConnection) {
        StringBuilder sb2 = new StringBuilder();
        try {
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
            while (true) {
                String readLine = bufferedReader.readLine();
                if (readLine == null) {
                    break;
                }
                sb2.append("\n" + readLine);
            }
        } catch (IOException e10) {
            e10.printStackTrace();
        }
        return sb2.toString();
    }

    public static String sendHttpsPost(String str, String str2) {
        ?? url;
        BufferedReader bufferedReader;
        Log.i("HttpURLTools", "https post url:" + str);
        Log.i("HttpURLTools", "https post data:" + ((String) str2));
        String str3 = "";
        PrintWriter printWriter = null;
        r1 = null;
        r1 = null;
        r1 = null;
        StringBuilder sb2 = null;
        printWriter = null;
        try {
            try {
                url = new URL(str);
            } catch (IOException e10) {
                e10.printStackTrace();
            }
        } catch (Exception e11) {
            e = e11;
            str2 = 0;
        } catch (Throwable th) {
            th = th;
            str2 = 0;
        }
        try {
            try {
                if (str.startsWith("https")) {
                    d(url);
                    HttpsURLConnection.setDefaultSSLSocketFactory(getSSLContext(str, false).getSocketFactory());
                    HttpsURLConnection httpsURLConnection = (HttpsURLConnection) url.openConnection();
                    httpsURLConnection.setRequestProperty("accept", "*/*");
                    httpsURLConnection.setRequestProperty("connection", HTTP.CONN_KEEP_ALIVE);
                    httpsURLConnection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
                    httpsURLConnection.setDoOutput(true);
                    httpsURLConnection.setDoInput(true);
                    url = new PrintWriter(httpsURLConnection.getOutputStream());
                    url.print(str2);
                    url.flush();
                    bufferedReader = new BufferedReader(new InputStreamReader(httpsURLConnection.getInputStream()));
                    while (true) {
                        String readLine = bufferedReader.readLine();
                        if (readLine == null) {
                            break;
                        }
                        sb2 = new StringBuilder();
                        sb2.append(str3);
                        sb2.append(readLine);
                        str3 = sb2.toString();
                    }
                } else {
                    URLConnection openConnection = url.openConnection();
                    openConnection.setRequestProperty("accept", "*/*");
                    openConnection.setRequestProperty("connection", HTTP.CONN_KEEP_ALIVE);
                    openConnection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
                    openConnection.setDoOutput(true);
                    openConnection.setDoInput(true);
                    url = new PrintWriter(openConnection.getOutputStream());
                    url.print(str2);
                    url.flush();
                    bufferedReader = new BufferedReader(new InputStreamReader(openConnection.getInputStream()));
                    while (true) {
                        String readLine2 = bufferedReader.readLine();
                        if (readLine2 == null) {
                            break;
                        }
                        sb2 = new StringBuilder();
                        sb2.append(str3);
                        sb2.append(readLine2);
                        str3 = sb2.toString();
                    }
                }
                url.close();
                bufferedReader.close();
            } catch (Exception e12) {
                e = e12;
                printWriter = url;
                str2 = str2;
                try {
                    e.printStackTrace();
                    if (printWriter != null) {
                        printWriter.close();
                    }
                    if (str2 != 0) {
                        str2.close();
                    }
                    return str3;
                } catch (Throwable th2) {
                    th = th2;
                    if (printWriter != null) {
                        try {
                            printWriter.close();
                        } catch (IOException e13) {
                            e13.printStackTrace();
                            throw th;
                        }
                    }
                    if (str2 != 0) {
                        str2.close();
                    }
                    throw th;
                }
            } catch (Throwable th3) {
                th = th3;
                printWriter = url;
                if (printWriter != null) {
                }
                if (str2 != 0) {
                }
                throw th;
            }
        } catch (Exception e14) {
            e = e14;
            str2 = sb2;
            printWriter = url;
            str2 = str2;
            e.printStackTrace();
            if (printWriter != null) {
            }
            if (str2 != 0) {
            }
            return str3;
        } catch (Throwable th4) {
            th = th4;
            str2 = sb2;
            printWriter = url;
            if (printWriter != null) {
            }
            if (str2 != 0) {
            }
            throw th;
        }
        return str3;
    }

    public static okhttp3.o setHeadIfSeaweed(String str, o.a aVar, String str2) {
        if (!TextUtils.isEmpty(str) && str.contains("/app/seaweedfsdownload") && !TextUtils.isEmpty(str2)) {
            aVar.header("X-Server-Id", str2);
            aVar.header("X-Authentication-Id", ak.im.sdk.manager.f1.getInstance().getServer().getEnterpriseId());
        }
        return aVar.build();
    }

    public static class f extends SSLSocketFactory {

        private static String[] f10148b;

        final SSLSocketFactory f10149a;

        static {
            if (Build.VERSION.SDK_INT >= 26) {
                f10148b = new String[]{TLSUtils.PROTO_TLSV1, TLSUtils.PROTO_TLSV1_1, TLSUtils.PROTO_TLSV1_2};
            } else {
                f10148b = new String[]{TLSUtils.PROTO_SSL3, TLSUtils.PROTO_TLSV1, TLSUtils.PROTO_TLSV1_1, TLSUtils.PROTO_TLSV1_2};
            }
        }

        public f(SSLSocketFactory sSLSocketFactory) {
            this.f10149a = sSLSocketFactory;
        }

        private Socket a(Socket socket) {
            if (socket instanceof SSLSocket) {
                ((SSLSocket) socket).setEnabledProtocols(f10148b);
            }
            return socket;
        }

        @Override
        public Socket createSocket(Socket socket, String str, int i10, boolean z10) throws IOException {
            Log.w("Tls12SocketFactory", "create socket " + socket + " sock type " + socket.getClass() + ", connected " + socket.isConnected() + ", " + str + ", " + i10 + ", " + z10);
            return a(this.f10149a.createSocket(socket, str, i10, z10));
        }

        @Override
        public String[] getDefaultCipherSuites() {
            return this.f10149a.getDefaultCipherSuites();
        }

        @Override
        public String[] getSupportedCipherSuites() {
            return this.f10149a.getSupportedCipherSuites();
        }

        @Override
        public Socket createSocket(String str, int i10) throws IOException, UnknownHostException {
            Log.w("Tls12SocketFactory", "1create socket " + str + ", " + i10);
            return a(this.f10149a.createSocket(str, i10));
        }

        @Override
        public Socket createSocket(String str, int i10, InetAddress inetAddress, int i11) throws IOException, UnknownHostException {
            Log.w("Tls12SocketFactory", "create socket " + str + ", " + i10 + ", " + inetAddress + ", " + i11);
            return a(this.f10149a.createSocket(str, i10, inetAddress, i11));
        }

        @Override
        public Socket createSocket(InetAddress inetAddress, int i10) throws IOException {
            Log.w("Tls12SocketFactory", "create socket " + inetAddress + ", " + i10);
            return a(this.f10149a.createSocket(inetAddress, i10));
        }

        @Override
        public Socket createSocket(InetAddress inetAddress, int i10, InetAddress inetAddress2, int i11) throws IOException {
            Log.w("Tls12SocketFactory", "create socket " + inetAddress + ", " + i10 + ", " + inetAddress2 + ", " + i11);
            return a(this.f10149a.createSocket(inetAddress, i10, inetAddress2, i11));
        }
    }

    public static m.b getOkHttpClientBuilder(String str, String str2, boolean z10) {
        return getOkHttpClientBuilder(str, str2, z10, false);
    }
}