HttpClient-тің құжатталған орта прокси саясаты бойынша example.internal мен .example.internal әртүрлі сәйкеседі. Қарапайым атау ата-хостты таңдайды; алдында нүктесі бар пішін оның субдомендерін таңдайды.

Екеуі де тікелей болуы керек болса, екеуін де іске қосу ортасына қосыңыз:

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

Оларды көзделген қолданыстағы айналып өту тізімімен біріктіріңіз. Айнымалы атаулары бас және кіші әріптерді ажырататын жүйелерде .NET алдымен кіші әріпті прокси орта атауларын, содан кейін бас әріптілерді тексереді, сондықтан ескірген no_proxy NO_PROXY-ден басым болуы мүмкін.

Қолданбаның ішінде әдепкі таңдаушыны тағайындалатын орынға 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)}");
}

Үзінді System және System.Net.Http кеңістіктерін пайдаланады. Егер қолданба басқа IWebProxy-ді анық көрсеткен болса, оның орнына өңдегіштің нақты проксиін тексеріңіз. Әдепкі прокси инициализацияланудан бұрын көзделген ортаны орнатыңыз.

Бұлар .NET-тің құжатталған ережелері. Сол жолды қолданған curl нәтижесі басқа клиенттің сол маршрутты таңдағанын дәлелдемейді, ал айналып өту шешімі әлі де тікелей желілік қолжетімділікті қажет етеді.

Қатысты мақалалар