Kontroller NO_PROXY-reglane til .NET med HttpClient.DefaultProxy.IsBypassed
List opp både det nakne domenet og forma med leiande punkt når HttpClient skal omgå proxyen for begge, og undersøk deretter IsBypassed.
Ifølgje den dokumenterte miljøproxy-policyen til HttpClient passar example.internal og .example.internal ulikt. Det nakne namnet vel vertsverten; forma med leiande punkt vel underdomena.
Skal begge gå direkte, ta begge med i oppstartsmiljøet:
export no_proxy='example.internal,.example.internal'
Flett desse inn i den tiltenkte eksisterande unntakslista. På system der variabelnamn skil mellom store og små bokstavar, sjekkar .NET først proxyvariablar med små bokstavar og deretter dei med store, så ein utdatert no_proxy kan få forrang framom NO_PROXY.
Inne i programmet kan standardveljaren undersøkjast utan å senda HTTP-førespurnaden til målet:
foreach (var host in new[] {
"example.internal", "api.example.internal", "other.internal"
})
{
var uri = new Uri("https://" + host + "/");
Console.WriteLine($"{host}: bypass={HttpClient.DefaultProxy.IsBypassed(uri)}");
}
Utdraget brukar System og System.Net.Http. Viss programmet uttrykkeleg har oppgitt ein annan IWebProxy, undersøk den faktiske handler-proxyen i staden. Set det tiltenkte miljøet før standardproxyen blir initialisert.
Dette er dei dokumenterte reglane til .NET. Eit curl-resultat med same streng beviser ikkje at ein annan klient valde same rute, og ei unntaksavgjerd krev framleis direkte nettilgang.