Yn PAC, mae shExpMatch yn defnyddio cardiau gwyllt arddull shell. Ar gyfer is-barthau example.com:

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

Defnyddiwch y penbwyntiau HTTP a ddewiswyd gan y polisi yn y gwerthoedd dychwelyd hyn; mae'r rhestr procsi HTTP yn darparu ymgeiswyr ar gyfer llwybrau cyhoeddus a ganiateir. Mae'r seren yn cyfateb i ddilyniant o nodau. Nid yw'n weithredydd ailadrodd mynegiad rheolaidd, felly mae .*example.com sy'n edrych fel regex yn newid yr ystyr.

Cynhwyswch yr enw rhiant union yn benodol pan fo'n perthyn i'r polisi:

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

Byddai defnyddio *example.com yn lle hynny hefyd yn derbyn enwau sy'n gorffen â'r llythrennau hynny heb bwynt gwahanu. Mae hynny'n ehangu'r set y tu hwnt i'r ffin barth a fwriadwyd.

Mae sylfaen cardiau gwyllt PAC cludadwy yn cynnwys * a ?; mae dosbarthiadau nodau yn amrywio yn ôl gweithrediad. Mae regex JavaScript yn defnyddio test() a'i reolau angori a dianc ei hun yn lle hynny.

Cyfatebwch y mewnbwn a fwriadwyd. Enw gwesteiwr yw host, tra bod url yn cynnwys cynllun ac efallai wedi'i diheintio. Ni ddylai rheol barth ddibynnu'n ddamweiniol ar lwybr nad yw'r porwr byth yn ei ddarparu.

Erthyglau cysylltiedig