HttpClient.DefaultProxy.IsBypassed ашиглан .NET-ийн NO_PROXY дүрмийг шалгах
HttpClient хоёуланд нь проксийг тойрох шаардлагатай үед нүцгэн домэйн болон эхэнд цэгтэй хэлбэрийг хоёуланг нь жагсааж, дараа нь IsBypassed-ыг шалгана уу.
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-ийн үр дүн өөр клиент ижил зам сонгосныг батлахгүй бөгөөд тойрох шийдвэрт шууд сүлжээний хүртээмж шаардлагатай хэвээр.