A HttpClient dokumentált környezeti proxyházirendje szerint az example.internal és a .example.internal eltérően illeszkedik. A csupasz név a szülő gazdagépet választja ki; a kezdő ponttal írt alak annak aldóménjeit.

Ha mindkettőnek közvetlenül kell mennie, vegye fel mindkettőt az indítási környezetbe:

export no_proxy='example.internal,.example.internal'

Vonja össze ezeket a szándékolt meglévő kivétellistával. Azokon a rendszereken, ahol a változónevek megkülönböztetik a kis- és nagybetűket, a .NET előbb a kisbetűs proxy környezeti neveket ellenőrzi, majd a nagybetűseket, így egy elavult no_proxy megelőzheti a NO_PROXY-t.

Az alkalmazáson belül az alapértelmezett választó a cél HTTP-kérés elküldése nélkül is megvizsgálható:

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)}");
}

A részlet a System és a System.Net.Http névteret használja. Ha az alkalmazás kifejezetten másik IWebProxy-t adott meg, akkor inkább a tényleges kezelőproxy vizsgálja. Az alapértelmezett proxy inicializálása előtt állítsa be a kívánt környezetet.

Ezek a .NET dokumentált szabályai. Az ugyanazzal a karakterlánccal kapott curl-eredmény nem bizonyítja, hogy egy másik kliens ugyanazt az útvonalat választotta, és a kivételdöntéshez továbbra is közvetlen hálózati elérés kell.

Kapcsolódó cikkek