MD5 校验值:df8a0d2d6051ae739310e4ee0f0d4dcf
f.java 文件包含反编译后的源代码,请注意,该内容仅供学习和参考使用,不得用于非法用途。
package a.a.a.a.e.d; import a.a.a.a.e.m; import a.a.a.a.n; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Socket; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; @Deprecated public final class f implements a.a.a.a.e.c.b, a.a.a.a.e.c.c, a.a.a.a.e.c.f { public static final h f81a = new b(); public static final h f82b = new c(); public static final h c = new g(); public volatile h d; private final SSLSocketFactory e; private final a.a.a.a.e.c.a f; private final String[] g; private final String[] h; public static f b() { return new f(d.a(), f82b); } private f(SSLContext sSLContext, h hVar) { this(((SSLContext) a.a.a.a.o.a.a(sSLContext, "SSL context")).getSocketFactory(), hVar); } private f(SSLSocketFactory sSLSocketFactory, h hVar) { this.e = (SSLSocketFactory) a.a.a.a.o.a.a(sSLSocketFactory, "SSL socket factory"); this.g = null; this.h = null; this.d = hVar == null ? f82b : hVar; this.f = null; } @Override public final Socket a(a.a.a.a.l.d dVar) { return c(); } @Override public final Socket a() { return c(); } @Override public final Socket a(Socket socket, InetSocketAddress inetSocketAddress, InetSocketAddress inetSocketAddress2, a.a.a.a.l.d dVar) { n nVar; a.a.a.a.o.a.a(inetSocketAddress, "Remote address"); a.a.a.a.o.a.a(dVar, "HTTP parameters"); if (!(inetSocketAddress instanceof m)) { nVar = new n(inetSocketAddress.getHostName(), inetSocketAddress.getPort(), "https"); } else { nVar = ((m) inetSocketAddress).f88a; } n nVar2 = nVar; int a2 = a.a.a.a.l.c.a(dVar); int f = a.a.a.a.l.c.f(dVar); socket.setSoTimeout(a2); return a(f, socket, nVar2, inetSocketAddress, inetSocketAddress2); } @Override public final boolean a(Socket socket) { a.a.a.a.o.a.a(socket, "Socket"); a.a.a.a.o.b.a(socket instanceof SSLSocket, "Socket not created by this factory"); a.a.a.a.o.b.a(!socket.isClosed(), "Socket is closed"); return true; } @Override public final Socket c(Socket socket, String str, int i) { return d(socket, str, i); } @Override public final Socket a(Socket socket, String str, int i) { return d(socket, str, i); } @Override public final Socket a(Socket socket, String str, int i, InetAddress inetAddress, int i2, a.a.a.a.l.d dVar) { InetAddress byName; if (this.f != null) { byName = this.f.a(); } else { byName = InetAddress.getByName(str); } InetSocketAddress inetSocketAddress = null; if (inetAddress != null || i2 > 0) { if (i2 <= 0) { i2 = 0; } inetSocketAddress = new InetSocketAddress(inetAddress, i2); } return a(socket, new m(new n(str, i), byName, i), inetSocketAddress, dVar); } private void a(SSLSocket sSLSocket) { if (this.g != null) { sSLSocket.setEnabledProtocols(this.g); } if (this.h != null) { sSLSocket.setEnabledCipherSuites(this.h); } } private Socket c() { SSLSocket sSLSocket = (SSLSocket) this.e.createSocket(); a(sSLSocket); return sSLSocket; } private Socket a(int i, Socket socket, n nVar, InetSocketAddress inetSocketAddress, InetSocketAddress inetSocketAddress2) { a.a.a.a.o.a.a(nVar, "HTTP host"); a.a.a.a.o.a.a(inetSocketAddress, "Remote address"); if (socket == null) { socket = c(); } if (inetSocketAddress2 != null) { socket.bind(inetSocketAddress2); } try { socket.connect(inetSocketAddress, i); if (socket instanceof SSLSocket) { SSLSocket sSLSocket = (SSLSocket) socket; sSLSocket.startHandshake(); a(sSLSocket, nVar.a()); return socket; } return d(socket, nVar.a(), inetSocketAddress.getPort()); } catch (IOException e) { try { socket.close(); } catch (IOException unused) { } throw e; } } private Socket d(Socket socket, String str, int i) { SSLSocket sSLSocket = (SSLSocket) this.e.createSocket(socket, str, i, true); a(sSLSocket); sSLSocket.startHandshake(); a(sSLSocket, str); return sSLSocket; } private void a(SSLSocket sSLSocket, String str) { try { this.d.a(str, sSLSocket); } catch (IOException e) { try { sSLSocket.close(); } catch (Exception unused) { } throw e; } } @Override public final Socket b(Socket socket, String str, int i) { return d(socket, str, i); } }