.NET seng NO_PROXY-Reegelen mat HttpClient.DefaultProxy.IsBypassed iwwerpréiwen
Gitt souwuel de blosen Domain wéi och d'Form mat féierendem Punkt un, wann den HttpClient fir béides de Proxy soll ëmgoen, a kontrolléiert duerno IsBypassed.
No der dokumentéierter Ëmweltproxy-Politik vum HttpClient passen example.internal an .example.internal ënnerschiddlech. Den blosen Numm wielt den Elterenhost; d'Form mat féierendem Punkt wielt seng Subdomainen.
Wann béides direkt soll sinn, hu béides an der Startëmwelt drop:
export no_proxy='example.internal,.example.internal'
Füügt se mat der virgesinnener existéierender Ausnamlëscht zesummen. Op Systemer, wou Variabelennimm tëschent grousse a klengen Buschtawe ënnerscheeden, kontrolléiert .NET fir d'éischt d'Proxy-Ëmweltnimm a klengen Buschtawe an duerno déi a groussen, dofir kann en ale no_proxy virun NO_PROXY kommen.
An der Applikatioun kann de Standardselektor iwwerpréift ginn, ouni d'HTTP-Ufro an d'Zil ze schécken:
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)}");
}
De Fragment benotzt System a System.Net.Http. Wann d'Applikatioun ausdrécklech en aneren IWebProxy uginn huet, kontrolléiert amplaz de reelle Proxy vum Handler. Setzt déi virgesinn Ëmwelt, ier de Standardproxy initialiséiert gëtt.
Dëst sinn déi dokumentéiert Reegele vun .NET. En curl-Resultat mat demselwe String beweist net, datt en anere Client dee selwechte Wee gewielt huet, an eng Ausnamentscheedung brauch nach ëmmer direkt Netzwierkerreechbarkeet.