Biarkan Destinasi Java SOCKS Tidak Diselesaikan
Elakkan DNS destinasi setempat semasa mencipta sambungan Java SOCKS dengan mengekalkan nama hos sasaran.
Sambungan SOCKS boleh gagal secara setempat sebelum proksi berpeluang menyelesaikan destinasi. Semak sama ada kod anda menyelesaikan sasaran semasa membina alamat soketnya.
Untuk soket Java SOCKS, kekalkan nama hos sasaran dengan alamat destinasi 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 hos ialah pemegang tempat; gunakan perkhidmatan SOCKS5 anda atau calon daripada senarai proksi SOCKS5 untuk ujian destinasi awam yang dibenarkan. Perbezaan penting ialah antara menyelesaikan proksi supaya anda boleh mencapainya dan mengekalkan nama destinasi untuk pertukaran SOCKS.
Selepas bersambung, klien HTTPS masih memerlukan sesi TLS untuk nama hos destinasi. Pembalut TLS tidak sepatutnya menggunakan nama hos proksi sebagai identiti rakan.
Semak juga kod peringkat lebih tinggi: pustaka boleh melakukan cariannya sendiri sebelum memanggil penyambung anda. Mengekalkan nama hos dalam alamat soket ini tidak boleh membatalkan carian yang dilakukan di tempat lain dalam aplikasi.