Podľa dokumentovanej politiky proxy z prostredia v HttpClient sa example.internal a .example.internal zhodujú odlišne. Holé meno vyberá nadradeného hostiteľa; forma s úvodnou bodkou vyberá jeho subdomény.

Ak majú obe ísť priamo, zahrňte obe do prostredia pri spustení:

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

Zlúčte ich s plánovaným existujúcim zoznamom výnimiek. V systémoch, kde mená premenných rozlišujú veľkosť písmen, .NET najprv kontroluje proxy premenné malými písmenami a až potom veľkými, takže zastarané no_proxy môže mať prednosť pred NO_PROXY.

Vnútri aplikácie možno predvolený selektor skontrolovať bez odoslania cieľovej požiadavky HTTP:

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

Úryvok používa System a System.Net.Http. Ak aplikácia výslovne poskytla iný IWebProxy, skontrolujte namiesto toho skutočnú proxy obslužnej rutiny. Nastavte zamýšľané prostredie pred inicializáciou predvolenej proxy.

Toto sú dokumentované pravidlá .NET. Výsledok curl s rovnakým reťazcom nedokazuje, že iný klient zvolil rovnakú trasu, a rozhodnutie o obídení stále vyžaduje priamu sieťovú dostupnosť.

Súvisiace články