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 ရလဒ်သည် အခြား ကလိုင်းယင့် တူညီသော လမ်းကြောင်းကို ရွေးချယ်ခဲ့သည်ဟု မသက်သေပြနိုင်ပါ။ ကျော်လွှားမှု ဆုံးဖြတ်ချက်အတွက် တိုက်ရိုက် ကွန်ရက် ဆက်သွယ်နိုင်မှု လိုအပ်ဆဲ ဖြစ်သည်။