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 ներառում է սխեմա և հնարավոր է՝ մաքրվել է։ Դոմենի կանոնը չպետք է պատահաբար կախված լինի ուղուց, որը զննարկիչը երբեք չի տրամադրում։