PAC တွင် shExpMatch သည် ဝိုင်းလ်ကတ်များ သုံးသည်၊ ပုံမှန်ဖော်ပြချက်များ မဟုတ်ပါ
ပရောက်စီ စည်းမျဉ်းတစ်ခုသည် မှန်ကန်ပုံရနိုင်သော်လည်း ဘယ်တော့မှ ကိုက်ညီမည်မဟုတ်ပါ၊ အကြောင်းမှာ shExpMatch နှင့် JavaScript ပုံမှန်ဖော်ပြချက်များသည် မတူညီသော ပုံစံဘာသာစကားများကို သုံးသောကြောင့်ဖြစ်သည်။
PAC တွင် shExpMatch သည် shell ပုံစံ ဝိုင်းလ်ကတ်များကို သုံးသည်။ example.com ၏ ဒိုမိန်းခွဲများအတွက်:
if (shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}ဤပြန်ပေးတန်ဖိုးများတွင် မူဝါဒက ရွေးချယ်ထားသော HTTP အဆုံးမှတ်များကို သုံးပါ; HTTP ပရောက်စီစာရင်းသည် ခွင့်ပြုထားသော အများသူငှာ လမ်းကြောင်းများအတွက် ကိုယ်စားလှယ်လောင်းများကို ပေးသည်။ ကြယ်အမှတ်အသားသည် စာလုံးအစဉ်တစ်ခုနှင့် ကိုက်ညီသည်။ ၎င်းသည် ပုံမှန်ဖော်ပြချက်၏ ထပ်ခါတလဲလဲ အော်ပရေတာ မဟုတ်ပါ၊ ထို့ကြောင့် regex နှင့်တူသော .*example.com သည် အဓိပ္ပာယ်ကို ပြောင်းလဲစေသည်။
မူဝါဒတွင် ပါဝင်ပါက တိကျသော မိခင်ဒိုမိန်းအမည်ကို ရှင်းလင်းစွာ ထည့်ပါ:
if (host === "example.com" || shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}အစား *example.com ကို သုံးပါက ခွဲထွက်သည့် အစက်မပါဘဲ ထိုစာလုံးများဖြင့် အဆုံးသတ်သော အမည်များကိုလည်း လက်ခံမည်ဖြစ်သည်။ ၎င်းသည် ရည်ရွယ်ထားသော ဒိုမိန်းနယ်နိမိတ်ကို ကျော်လွန်၍ အစုကို ချဲ့ထွင်သည်။
သယ်ဆောင်နိုင်သော PAC ဝိုင်းလ်ကတ် အခြေခံတွင် * နှင့် ? ပါဝင်သည်; စာလုံးအတန်းအစားများသည် အကောင်အထည်ဖော်မှုအလိုက် ကွဲပြားသည်။ JavaScript regex သည် အစား test() နှင့် ၎င်း၏ ကိုယ်ပိုင် ကျောက်ချနှင့် လွတ်ထွက်စည်းမျဉ်းများကို သုံးသည်။
ရည်ရွယ်ထားသော ထည့်သွင်းမှုနှင့် ကိုက်ညီပါစေ။ host သည် ဟို့စ်အမည်ဖြစ်ပြီး url တွင် scheme ပါဝင်ကာ သန့်စင်ပြီးဖြစ်နိုင်သည်။ ဒိုမိန်းစည်းမျဉ်းသည် ဘရောက်ဇာက ဘယ်တော့မှ မပေးသော လမ်းကြောင်းအပေါ် မတော်တဆ မှီခိုသင့်ပါ။