In PAC gebruikt shExpMatch jokertekens in shell-stijl. Voor subdomeinen van example.com:

if (shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

Gebruik in deze retourwaarden de HTTP-eindpunten die het beleid heeft gekozen; de HTTP-proxylijst levert kandidaten voor toegestane openbare routes. De asterisk komt overeen met een reeks tekens. Het is geen herhalingsoperator van een reguliere expressie, dus een regex-achtig .*example.com verandert de betekenis.

Neem de exacte bovenliggende naam expliciet op wanneer die bij het beleid hoort:

if (host === "example.com" || shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

*example.com gebruiken zou ook namen accepteren die op die letters eindigen zonder scheidende punt. Dat verbreedt de verzameling voorbij de bedoelde domeingrens.

De draagbare PAC-jokertekenbasis omvat * en ?; tekenklassen verschillen per implementatie. Een JavaScript-regex gebruikt in plaats daarvan test() en zijn eigen regels voor verankering en escaping.

Kom overeen met de bedoelde invoer. host is een hostnaam, terwijl url een schema bevat en mogelijk is opgeschoond. Een domeinregel mag niet per ongeluk afhangen van een pad dat de browser nooit levert.

Gerelateerde artikelen