Διακομιστές μεσολάβησης SOCKS στο .NET HttpClient: υποστηριζόμενα σχήματα URI
Χρησιμοποιήστε τα τεκμηριωμένα σχήματα URI μεσολάβησης SOCKS ενός συμβατού προγράμματος χειρισμού HTTP .NET αντί να υποθέτετε ότι οι παλιές συνταγές τρίτων παραμένουν απαραίτητες.
Οι παλιές απαντήσεις προτείνουν ένα πρόσθετο πρόγραμμα χειρισμού SOCKS επειδή απευθύνονται σε παλαιότερη στοίβα δικτύου .NET. Μια σύγχρονη υποστηριζόμενη στοίβα HTTP .NET μπορεί να χρησιμοποιήσει τα τεκμηριωμένα σχήματα URI μεσολάβησης SOCKS.
var handler = new HttpClientHandler
{
Proxy = new WebProxy("socks5://203.0.113.10:1080"),
UseProxy = true
};
using var client = new HttpClient(handler);Το τελικό σημείο είναι μόνο ενδεικτικό. Η λίστα διακομιστών μεσολάβησης SOCKS5 παρέχει δημόσιους υποψηφίους για αυτό το URI socks5 του WebProxy· χρησιμοποιήστε την έκδοση που υποστηρίζει το πραγματικό πρόγραμμα χειρισμού. Ελέγξτε το πλαίσιο προορισμού, τον χρόνο εκτέλεσης, την πλατφόρμα και το πραγματικό πρόγραμμα χειρισμού που χρησιμοποιεί η εφαρμογή πριν εφαρμόσετε αυτό το παράδειγμα σε παλαιότερη διεργασία .NET Framework.
Η τρέχουσα τεκμηρίωση της Microsoft για τη μεσολάβηση απαριθμεί socks4, socks4a και socks5. Αυτά τα ονόματα περιγράφουν τη συμπεριφορά του πρωτοκόλλου. Ένας αριθμός θύρας από μόνος του δεν επιλέγει την έκδοση SOCKS, και η γραφή socks5h του curl δεν είναι ένα καθολικό σχήμα URI που δέχονται όλοι οι πελάτες.
Για μια πιστοποιημένη υπηρεσία SOCKS5, ρυθμίστε τα διαπιστευτήρια σύμφωνα με τη διεπαφή που υποστηρίζει το πρόγραμμα χειρισμού. Τα SOCKS4 και SOCKS4a δεν παρέχουν τον ίδιο μηχανισμό πιστοποίησης με κωδικό πρόσβασης.
Το URL προορισμού παραμένει αμετάβλητο. Ένα αίτημα HTTPS εξακολουθεί να δημιουργεί και να επαληθεύει το TLS του προορισμού μέσω της διαδρομής μεσολάβησης· η προσθήκη SOCKS δεν αποτελεί λόγο απενεργοποίησης αυτής της επαλήθευσης.