Μια σύνδεση SOCKS μπορεί να αποτύχει τοπικά πριν ο διακομιστής μεσολάβησης προλάβει να επιλύσει τον προορισμό. Ελέγξτε αν ο κώδικάς σας επέλυσε τον στόχο κατά την κατασκευή της διεύθυνσης υποδοχής.

Για υποδοχή Java SOCKS, διατηρήστε το όνομα κεντρικού υπολογιστή-στόχου με άλυτη διεύθυνση προορισμού:

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);

Το τελικό σημείο και το όνομα κεντρικού υπολογιστή είναι σύμβολα κράτησης θέσης· χρησιμοποιήστε την υπηρεσία SOCKS5 σας ή έναν υποψήφιο από τη λίστα διακομιστών μεσολάβησης SOCKS5 για επιτρεπόμενες δοκιμές δημόσιων προορισμών. Η σημαντική διάκριση είναι ανάμεσα στην επίλυση του διακομιστή μεσολάβησης ώστε να μπορείτε να τον προσεγγίσετε και στη διατήρηση του ονόματος προορισμού για την ανταλλαγή SOCKS.

Μόλις συνδεθεί, ένας πελάτης HTTPS εξακολουθεί να χρειάζεται συνεδρία TLS για το όνομα κεντρικού υπολογιστή προορισμού. Ένα περιτύλιγμα TLS δεν πρέπει να χρησιμοποιεί το όνομα κεντρικού υπολογιστή του διακομιστή μεσολάβησης ως ταυτότητα του ομολόγου.

Ελέγξτε επίσης κώδικα υψηλότερου επιπέδου: μια βιβλιοθήκη μπορεί να εκτελέσει τη δική της αναζήτηση πριν καλέσει τον σύνδεσμό σας. Η διατήρηση ενός ονόματος κεντρικού υπολογιστή σε αυτή τη διεύθυνση υποδοχής δεν μπορεί να ακυρώσει μια αναζήτηση που εκτελέστηκε αλλού στην εφαρμογή.

Σχετικά άρθρα