Muutamme, miten Proxy Auto-Configuration (PAC) -sovitus toimii pacmanagerissa RoomOS-ohjelmistossa.
Suurimpien verkkoselaimien, mukaan lukien Web-moottorin, käyttämä PAC-käytäntö on käyttää muokattua säännöllisen lausekkeen syntaksia. Tähän asti pacmanager on käyttänyt tavallisia säännöllisiä lausekkeita vastaavuuksiin. Olemme muuttamassa shExpMatch -toimintoa käyttääksesi hakua, joka on samanlainen kuin selaimet.
Tämä muutos tarkoittaa, että RoomOS toimii samojen PAC-tiedostojen osumien kanssa kuin muut verkon verkkoasiakkaat. Erityisesti RoomOS:lle kirjoitetut PAC-tiedostot on ehkä päivitettävä, jotta ne toimisivat suunnitellusti.
PAC-tiedoston arviointi tehdään kahdessa eri paikassa RoomOS-ohjelmistossa:
Web-moottori omaa liikennettä varten.
Pacmanager kaikelle muulle HTTP-liikenteelle: HttpFeedback, Webex-hallinta, puhelusignalointi ja niin edelleen.
PAC-tiedosto voi käyttää tätä toimintoa: shExpMatch(merkkijono, kuvio)
Se palauttaa tosi, jos merkkijono vastaa kuviota, muussa tapauksessa false.
Tärkeimmät erot näiden kahden tavan välillä on lueteltu alla, "REGEX" tarkoittaa perinteisiä säännöllisiä lausekkeita ja "SELAUS" tarkoittaa verkkoselaimen käytäntöä.
Pistemerkki "."
REGEX: . vastaa yhtä merkkiä, joka voidaan toistaa kvantorilla
SELAIN: . vastaa vain kirjaimellista pistemerkkiä
Tähti, "*":
REGEX: * on nolla tai enemmän kvantori kohteen jälkeen, mutta ei täsmää mihinkään sellaisenaan
SELAIN: * vastaa nollaa tai useampaa merkkiä
Kysymysmerkki "?":
REGEX: ? on nolla tai yksi kvantori kohteen jälkeen, tai se voi muuttaa *-kvannon ei-ahneeksi, mutta ei täsmää mihinkään sellaisenaan
SELAIN: ? vastaa yhtä merkkiä
Onko koko lausekkeen vastattava:
REGEX: Ilman alku-^- ja $-merkkiä KUVION ei tarvitse vastata koko STRING: Riittää, että STRING sisältää vastaavan alimerkkijonon.
SELAIN: Vaadi aina, että STRING vastaa täsmälleen mallia PATTERN
Esimerkkejä
Haluamme yhdistää kaikki isäntänimet kohdassa "provider.domain", mutta emme "otherprovider.domain", "provider.domain.tld" tai "providersdomain":
REGEX:
shExpMatch(url, "^.*\\.provider\\.domain$")
SELAIN:
shExpMatch(url, "*.provider.domain")
Haluamme vastata "proxy1.domain", "proxy2.domain" ja niin edelleen, mutta emme "proxytest.domain":
REGEX:
shExpMatch(url, "^proxy.\\.domain$")
SELAIN:
shExpMatch(url, "proxy?.domain")
Muut resurssit
Katso lisätietoja PAC-tiedostomuodosta: https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file .