Biarkan Tujuan Java SOCKS Tanpa Resolusi
Hindari DNS tujuan lokal saat membuat koneksi Java SOCKS dengan mempertahankan nama host target.
Koneksi SOCKS dapat gagal secara lokal sebelum proxy sempat menyelesaikan tujuan. Periksa apakah kode Anda menyelesaikan target saat membangun alamat soket.
Untuk soket Java SOCKS, pertahankan nama host target dengan alamat tujuan yang belum diselesaikan:
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);Titik akhir dan nama host adalah placeholder; gunakan layanan SOCKS5 Anda atau kandidat dari daftar proxy SOCKS5 untuk pengujian tujuan publik yang diizinkan. Perbedaan pentingnya adalah antara menyelesaikan proxy agar Anda dapat menjangkaunya dan mempertahankan nama tujuan untuk pertukaran SOCKS.
Setelah terhubung, klien HTTPS tetap membutuhkan sesi TLS untuk nama host tujuan. Pembungkus TLS tidak boleh menggunakan nama host proxy sebagai identitas rekan.
Periksa juga kode tingkat lebih tinggi: pustaka dapat melakukan pencariannya sendiri sebelum memanggil konektor Anda. Mempertahankan nama host di alamat soket ini tidak dapat membatalkan pencarian yang dilakukan di tempat lain dalam aplikasi.