Ostavite Java SOCKS odredište nerazriješeno
Izbjegnite lokalni DNS odredišta pri stvaranju Java SOCKS veze čuvajući naziv ciljnog hosta.
SOCKS veza može lokalno ne uspjeti prije nego što proxy dobije priliku razriješiti odredište. Provjerite je li vaš kod razriješio cilj tijekom izrade adrese socketa.
Za Java SOCKS socket sačuvajte naziv 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 naziv hosta su zamjenske vrijednosti; koristite svoju SOCKS5 uslugu ili kandidata s popisa SOCKS5 proxya za dopuštene testove javnog odredišta. Važna razlika je između razrješavanja proxya da biste ga mogli dosegnuti i čuvanja naziva odredišta za SOCKS razmjenu.
Nakon povezivanja, HTTPS klijent još uvijek treba TLS sesiju za naziv hosta odredišta. TLS omot ne bi trebao koristiti naziv hosta proxya kao identitet druge strane.
Provjerite i kod više razine: biblioteka može obaviti vlastitu pretragu prije nego što pozove vaš konektor. Čuvanje naziva hosta u ovoj adresi socketa ne može poništiti pretragu obavljenu drugdje u aplikaciji.