Fragen Sie .NET, welchen Proxy es für eine URL verwenden würde
Prüfen Sie die Standard-Proxyauswahl für ein exaktes Ziel, einschließlich Umgehungsentscheidungen und expliziter HttpClient-Überschreibungen.
Fragen Sie die Standardrichtlinie nach der exakten URL, die fehlschlägt:
var destination = new Uri("https://example.com/");
var proxy = HttpClient.DefaultProxy;
Console.WriteLine(proxy.IsBypassed(destination));
Console.WriteLine(proxy.GetProxy(destination));Verwenden Sie die Namespaces System und System.Net.Http. Halten Sie private Informationen zum zurückgegebenen Endpunkt aus öffentlichen Protokollen heraus.
| Beobachtung | Bedeutung |
|---|---|
IsBypassed(destination) | Ob diese Richtlinie für diese URL direktes Routing wählt. |
GetProxy(destination) | Ein Richtlinienergebnis; WebProxy kann das ursprüngliche Ziel zurückgeben bei Umgehung. |
| Eine echte Anforderung über den fehlschlagenden Client | Beleg dafür, ob die gewählte Route nutzbar war. |
| Ein Quelladressbericht von der Zielseite | Der für diese Anforderung beobachtete Ausgang. |
HttpClient.DefaultProxy liefert Standardrouting, wenn der Handler keine explizite Proxykonfiguration hat, und seine Initialisierung hängt von der Plattform ab. Ein anderer zugewiesener Proxy oder deaktivierte Proxynutzung kann anders wählen. Prüfen Sie den tatsächlichen Handler, nicht nur einen frischen Diagnoseclient.
Ein Dienst kann auch mit einer anderen Benutzerumgebung laufen. Halten Sie gewählten Proxy, Umgehungsentscheidung und Anforderungsergebnis getrennt, wenn Sie ihn mit einer interaktiven Anwendung vergleichen. Dieser Code öffnet keine Zielverbindung und misst keine Ausgangs-IP; sammeln Sie solche Belege bei Bedarf über denselben Client und dieselbe Route.