Leyfðu Java SOCKS-áfangastaðnum að vera óleystur
Forðastu staðbundið áfangastaðar-DNS þegar þú býrð til Java SOCKS-tengingu með því að varðveita markhostnamnið.
SOCKS-tenging getur mistekist staðbundið áður en proxyinn fær tækifæri til að leysa áfangastaðinn. Athugaðu hvort kóðinn þinn leysti markið þegar hann byggði socket-vistfangið.
Fyrir Java SOCKS-socket skaltu varðveita markhostnamnið með óleystu áfangastaðarvistfangi:
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);Endapunkturinn og hostnamnið eru staðgenglar; notaðu SOCKS5-þjónustuna þína eða frambjóðanda úr SOCKS5-proxylistanum fyrir leyfð próf á opinberum áfangastöðum. Mikilvægi munurinn er á milli þess að leysa proxyinn svo þú komist að honum og að varðveita áfangastaðarheitið fyrir SOCKS-skiptin.
Eftir tengingu þarf HTTPS-viðskiptavinur enn TLS-lotu fyrir markhostnamnið. TLS-umbúðir ættu ekki að nota hostnamn proxysins sem auðkenni mótaðilans.
Athugaðu líka kóða á hærra stigi: bókasafn getur framkvæmt eigin uppflettingu áður en það kallar á tengið þitt. Að varðveita hostnamn í þessu socket-vistfangi getur ekki afturkallað uppflettingu sem framkvæmd er annars staðar í forritinu.