System.Net.WebProxy ၏ BypassList အငြင်းပုဒ်တွင် ပုံမှန်ဖော်ပြချက်များ ပါဝင်သည်။ *.office.example ကဲ့သို့ ပုံစံသည် မမှန်ကန်ပါ၊ အကြောင်းမှာ ရှေ့ဆုံးကြယ်ပွင့်တွင် ထပ်ခါတလဲလဲ ပြုလုပ်ရန် ရှေးဦးဖော်ပြချက် မရှိသောကြောင့် ဖြစ်သည်။

office.example နှင့် ၎င်း၏ ဒိုမိန်းခွဲများသို့ HTTP နှင့် HTTPS တောင်းဆိုမှုများအတွက် PowerShell ဖွဲ့စည်းမှုက ဤအရာကို အသုံးပြုနိုင်သည်။

$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
    'http://proxy.example:8080',
    $false,
    [string[]]$bypass
)

escape လုပ်ထားသော အစက်များသည် တိုက်ရိုက်အစက်များနှင့် ကိုက်ညီသည်။ ထပ်ခါတလဲလဲ ပြုလုပ်ထားသော host နာမည် အညွှန်း အုပ်စုသည် အခြေခံဒိုမိန်းနှင့် ၎င်း၏အောက်ရှိ နာမည်များကို ခွင့်ပြုသည်။ ကျောက်ဆူးများက office.example.other.test ကဲ့သို့ နာမည်ကို ဤစည်းမျဉ်းအပြင်၌ ထိန်းထားသည်။ တစ်ခုတည်းသော ကိုးကားအမှတ်အသားဖြင့် PowerShell စာကြောင်းများသည် ဖော်ပြချက် အသုံးပြုသော backslash များကို ထိန်းသိမ်းသည်။

လက်ရှိ .NET အကောင်အထည်ဖော်မှုသည် ဤဖော်ပြချက်များကို ဦးတည်ရာ၏ scheme၊ host နာမည်နှင့် မူရင်းမဟုတ်သော port တို့နှင့် ကိုက်ညီစေသည်။ တောင်းဆိုမှု လမ်းကြောင်း သို့မဟုတ် query စာကြောင်းကို မပါဝင်ပါ။ ထို့ကြောင့် ရွေးချယ်နိုင်သော port အုပ်စုသည် မူရင်းမဟုတ်သော port များကိုလည်း ခွင့်ပြုသည်။ မူဝါဒက သီးခြားဝန်ဆောင်မှုကို တောင်းဆိုပါက ၎င်းကို ဖယ်ရှားပါ သို့မဟုတ် ကျဉ်းမြောင်းပါ။

ဤဥပမာတွင် BypassProxyOnLocal သည် false ဖြစ်သည်၊ သို့မှသာ regex မူဝါဒကို ထိုအပိုကျော်ဖြတ်မှု ဆက်တင်နှင့် သီးခြား စစ်ဆေးနိုင်မည်။ ရလာသော proxy အရာဝတ္ထုကို ၎င်းကို အသုံးပြုသင့်သော HTTP client နှင့် ချိတ်ဆက်ပါ။ ကျော်ဖြတ်မှု ဒိုမိန်းအပြင် ခွင့်ပြုထားသော အများသူငှာ URL စမ်းသပ်မှုအတွက် HTTP proxy list မှ HTTP ထည့်သွင်းချက်တစ်ခုက ၎င်း၏ လိပ်စာကို ပေးနိုင်သည်၊ proxy အကောင့် ဖွဲ့စည်းမထားဘဲ။

လမ်းကြောင်းသတ်မှတ်မှု ဆုံးဖြတ်ချက်ကို စစ်ဆေးရန် ကိုယ်စားပြု Uri တန်ဖိုးများနှင့်အတူ IsBypassed ကို အသုံးပြုပါ။ အခြေခံဒိုမိန်း၊ ဒိုမိန်းခွဲတစ်ခု၊ မသက်ဆိုင်သော ပြင်ပ host နှင့် လှည့်ဖြားသော ပိုရှည်သည့် နောက်ဆက်။ true ရလဒ်သည် တိုက်ရိုက်ဝင်ရောက်မှုကို ရွေးချယ်ခဲ့သည်ဟု ဆိုလိုသည်။ တိုက်ရိုက်ဦးတည်ရာ ရောက်နိုင်သည်ဟု သက်သေမပြပါ။

ဆက်စပ်ဆောင်းပါးများ