Întrebați .NET ce proxy ar folosi pentru un URL
Inspectați selecția implicită de proxy pentru o destinație exactă, inclusiv deciziile de ocolire și suprascrierile explicite HttpClient.
Întrebați politica implicită despre URL-ul exact care eșuează:
var destination = new Uri("https://example.com/");
var proxy = HttpClient.DefaultProxy;
Console.WriteLine(proxy.IsBypassed(destination));
Console.WriteLine(proxy.GetProxy(destination));Folosiți spațiile de nume System și System.Net.Http. Țineți informațiile private despre punctul final returnat în afara jurnalelor publice.
| Observație | Semnificație |
|---|---|
IsBypassed(destination) | Dacă această politică selectează rutare directă pentru acel URL. |
GetProxy(destination) | Un rezultat de politică; WebProxy poate returna destinația originală când este ocolită. |
| O cerere reală prin clientul care eșuează | Dovadă dacă ruta selectată a fost utilizabilă. |
| Un raport de adresă sursă din partea destinației | Ieșirea observată pentru acea cerere. |
HttpClient.DefaultProxy oferă rutare implicită când handlerul nu are o configurație explicită de proxy, iar inițializarea sa depinde de platformă. Un alt proxy atribuit sau utilizare de proxy dezactivată poate alege diferit. Inspectați handlerul real, nu doar un client de diagnostic nou.
Un serviciu poate rula și cu un alt mediu de utilizator. Țineți proxy-ul selectat, decizia de ocolire și rezultatul cererii separate când îl comparați cu o aplicație interactivă. Acest cod nu deschide nicio conexiune către destinație și nu măsoară niciun IP de ieșire; colectați astfel de dovezi prin același client și aceeași rută dacă este nevoie.