Ostavite Java SOCKS odredište nerazriješeno
Izbjegnite lokalni DNS odredišta pri stvaranju Java SOCKS veze čuvanjem ciljnog imena hosta.
SOCKS veza može lokalno pasti prije nego što proxy dobije priliku razriješiti odredište. Provjerite je li vaš kod razriješio cilj dok je gradio adresu socketa.
Za Java SOCKS socket zadržite ime ciljnog hosta s nerazriješenom adresom odredišta:
Proxy proxy = new Proxy(Proxy.Type.SOCKS,
new InetSocketAddress("203.0.113.10", 1080));
Socket socket = new Socket(proxy);
socket.connect(InetSocketAddress.createUnresolved(
"destination.example", 443), 5000);Krajnja točka i ime hosta su rezervisani; koristite svoju SOCKS5 uslugu ili kandidata sa liste SOCKS5 proxyja za dozvoljene testove javnih odredišta. Važna razlika je između razrješavanja proxyja da biste do njega došli i čuvanja imena odredišta za SOCKS razmjenu.
Nakon povezivanja, HTTPS klijentu još uvijek treba TLS sesija za ime hosta odredišta. TLS omotač ne smije koristiti ime hosta proxyja kao identitet druge strane.
Provjerite i kod višeg nivoa: biblioteka može izvršiti vlastito pretraživanje prije nego što pozove vaš konektor. Čuvanje imena hosta u ovoj adresi socketa ne može poništiti pretraživanje obavljeno negdje drugdje u aplikaciji.