Zapytaj .NET, jakiego serwera proxy użyłby dla adresu URL
Sprawdź domyślny wybór serwera proxy dla dokładnego celu, w tym decyzje o pominięciu i jawne zastąpienia HttpClient.
Zapytaj domyślną politykę o dokładny adres URL, który zawodzi:
var destination = new Uri("https://example.com/");
var proxy = HttpClient.DefaultProxy;
Console.WriteLine(proxy.IsBypassed(destination));
Console.WriteLine(proxy.GetProxy(destination));Użyj przestrzeni nazw System i System.Net.Http. Trzymaj prywatne informacje o zwróconym punkcie końcowym poza publicznymi dziennikami.
| Obserwacja | Znaczenie |
|---|---|
IsBypassed(destination) | Czy ta polityka wybiera bezpośrednie trasowanie dla tego adresu URL. |
GetProxy(destination) | Wynik polityki; WebProxy może zwrócić oryginalny cel przy pominięciu. |
| Rzeczywiste żądanie przez zawodzącego klienta | Dowód, czy wybrana trasa była użyteczna. |
| Raport adresu źródłowego po stronie celu | Wyjście zaobserwowane dla tego żądania. |
HttpClient.DefaultProxy zapewnia domyślne trasowanie, gdy program obsługi nie ma jawnej konfiguracji serwera proxy, a jego inicjalizacja zależy od platformy. Inny przypisany serwer proxy lub wyłączone używanie serwera proxy może wybrać inaczej. Sprawdź rzeczywisty program obsługi, nie tylko nowego klienta diagnostycznego.
Usługa może też działać w innym środowisku użytkownika. Trzymaj wybrany serwer proxy, decyzję o pominięciu i wynik żądania osobno, porównując z aplikacją interaktywną. Ten kod nie otwiera żadnego połączenia z celem i nie mierzy żadnego wyjściowego adresu IP; w razie potrzeby zbierz takie dowody przez tego samego klienta i tę samą trasę.