Konvencija PAC, ki jo uporabljajo glavni spletni brskalniki, vključno s spletnim mehanizmom, je uporaba spremenjene sintakse običajnega izraza. Do sedaj je pacmanager za ujemanje uporabljal običajne običajne izraze. Funkcijo shExpMatch spreminjamo tako, da uporablja ujemanje, ki je podobno brskalnikom.

Ta sprememba pomeni, da bo RoomOS deloval z enakimi ujemanjem datotek PAC kot drugi spletni odjemalci v omrežju. Datoteke PAC, napisane posebej za RoomOS, bo morda treba posodobiti, da bodo še naprej delovale, kot je bilo predvideno.

Vrednotenje datoteke PAC poteka na dveh ločenih mestih v programski opremi RoomOS:

  • Spletni motor za lasten promet.

  • Pacmanager za ves drug promet HTTP: HttpFeedback, omogočanje uporabe Webex, signalizacija klicev in tako naprej.

Datoteka PAC lahko uporablja to funkcijo: shExpMatch(niz, vzorec)

Vrne vrednost true, če se niz ujema z vzorcem, sicer pa napačno.

Glavne razlike med obema dogovoroma so navedene spodaj, pri čemer "REGEX" pomeni tradicionalne regularne izraze, "BROWSER" pa konvencijo o spletnem brskalniku.

Znak s piko, "."

  • REGEX: . se ujema z enim znakom, ki se lahko ponovi s kvantifikatorjem

  • BRSKALNIK:. Ujema se samo z dobesednim znakom pike

Zvezda, "*":

  • REGEX: * je ničelni ali večji kvantifikator za elementom, vendar se sam po sebi ne ujema z ničemer

  • BRSKALNIK: * se ujema z nič ali več znaki

Vprašaj "?":

  • REGEX: ? je kvantifikator nič ali ena za elementom ali pa lahko kvantifikator * spremeni tako, da ni pohlepen, vendar se sam po sebi ne ujema z ničemer

  • BRSKALNIK:? se ujema z enim znakom

Ali se mora celoten izraz ujemati:

  • REGEX: Brez uporabe vodilnih ˆ in zadnjih $ se PATTERN ne ujema s celotnim NIZOM: Dovolj je, da STRING vsebuje podniz, ki se ujema.

  • BRSKALNIK: Vedno zahtevajte, da se STRING natančno ujema z PATTERN

Primeri

Vsa imena gostiteljev želimo povezati pod »provider.domain«, ne pa tudi »otherprovider.domain«, »provider.domain.tld« ali »providersdomain«:

REGEX:

 shExpMatch(url, "ˆ.*\\.provider\\.domain$") 

BRSKALNIK:

 shExpMatch(url, "*.provider.domain") 

Želimo se ujemati z »proxy1.domain«, »proxy2.domain« in tako naprej, ne pa tudi »proxytest.domain«:

REGEX:

 shExpMatch(url, "ˆproxy.\\.domain$") 

BRSKALNIK:

 shExpMatch(url, »proxy?. domena") 

Drugi viri

Za več podrobnosti o obliki zapisa datoteke PAC glejte: https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file .