د .NET د NO_PROXY قواعد د HttpClient.DefaultProxy.IsBypassed په مرسته وګورئ
کله چې 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 پایله دا نه ثابتوي چې بل کلاېنټ همدغه لار غوره کړې، او د تېرېدو پرېکړې لپاره لا هم مستقیم شبکه یي لاسرسی اړین دی.