Kontroli la regulojn NO_PROXY de .NET per HttpClient.DefaultProxy.IsBypassed
Listigu kaj la nudan domajnon kaj la formon kun komenca punkto, kiam HttpClient devas preteriri prokurilon por ambaŭ, poste inspektu IsBypassed.
Laŭ la dokumentita media prokurila politiko de HttpClient, example.internal kaj .example.internal malsame kongruas. La nuda nomo elektas la gepatran gastiganton; la formo kun komenca punkto elektas ĝiajn subdomajnojn.
Se ambaŭ devas iri rekte, inkluzivu ambaŭ en la startan medion:
export no_proxy='example.internal,.example.internal'
Kunfandu ilin kun la celata ekzistanta preterira listo. En sistemoj, kie variablaj nomoj distingas usklecon, .NET unue kontrolas prokurilajn mediajn nomojn minusklajn kaj poste majusklajn, do malnova no_proxy povas havi prioritaton super NO_PROXY.
Ene de la aplikaĵo, la implicita selektilo povas esti inspektata sen sendi la HTTP-peton al la celo:
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)}");
}
La fragmento uzas System kaj System.Net.Http. Se la aplikaĵo eksplicite provizis alian IWebProxy, inspektu anstataŭe la faktan prokurilon de la traktilo. Agordu la celatan medion antaŭ ol la implicita prokurilo pravaloriziĝas.
Ĉi tiuj estas la dokumentitaj reguloj de .NET. Rezulto de curl kun la sama signoĉeno ne pruvas, ke alia kliento elektis la saman vojon, kaj preterira decido ankoraŭ postulas rektan retan atingeblon.