Ρωτήστε το .NET ποιον διαμεσολαβητή θα χρησιμοποιούσε για ένα URL
Εξετάστε την προεπιλεγμένη επιλογή διαμεσολαβητή για έναν ακριβή προορισμό, συμπεριλαμβανομένων αποφάσεων παράκαμψης και ρητών παρακάμψεων HttpClient.
Ρωτήστε την προεπιλεγμένη πολιτική για το ακριβές URL που αποτυγχάνει:
var destination = new Uri("https://example.com/");
var proxy = HttpClient.DefaultProxy;
Console.WriteLine(proxy.IsBypassed(destination));
Console.WriteLine(proxy.GetProxy(destination));Χρησιμοποιήστε τους χώρους ονομάτων System και System.Net.Http. Κρατήστε τις ιδιωτικές πληροφορίες του τελικού σημείου που επιστρέφεται έξω από δημόσια αρχεία καταγραφής.
| Παρατήρηση | Σημασία |
|---|---|
IsBypassed(destination) | Αν αυτή η πολιτική επιλέγει άμεση δρομολόγηση για αυτό το URL. |
GetProxy(destination) | Αποτέλεσμα πολιτικής; Το WebProxy μπορεί να επιστρέψει τον αρχικό προορισμό όταν παρακάμπτεται. |
| Ένα πραγματικό αίτημα μέσω του αποτυγχάνοντος πελάτη | Απόδειξη για το αν η επιλεγμένη διαδρομή ήταν χρησιμοποιήσιμη. |
| Μια αναφορά διεύθυνσης πηγής από την πλευρά του προορισμού | Η έξοδος που παρατηρήθηκε για αυτό το αίτημα. |
HttpClient.DefaultProxy παρέχει προεπιλεγμένη δρομολόγηση όταν ο χειριστής δεν έχει ρητή διαμόρφωση διαμεσολαβητή, και η αρχικοποίησή του εξαρτάται από την πλατφόρμα. Ένας άλλος εκχωρημένος διαμεσολαβητής ή απενεργοποιημένη χρήση διαμεσολαβητή μπορεί να επιλέξει διαφορετικά. Εξετάστε τον πραγματικό χειριστή, όχι μόνο έναν νέο διαγνωστικό πελάτη.
Μια υπηρεσία μπορεί επίσης να εκτελείται με άλλο περιβάλλον χρήστη. Κρατήστε τον επιλεγμένο διαμεσολαβητή, την απόφαση παράκαμψης και το αποτέλεσμα του αιτήματος χωριστά όταν το συγκρίνετε με μια διαδραστική εφαρμογή. Αυτός ο κώδικας δεν ανοίγει καμία σύνδεση προορισμού και δεν μετρά καμία IP εξόδου; συλλέξτε τέτοια στοιχεία μέσω του ίδιου πελάτη και διαδρομής εάν χρειάζεται.