Jint PAC-evaluaasje: ûntbrekkende helpers en rûtesresultaten
It útfiere fan FindProxyForURL is ien stap: de host moat PAC-helpers ymplementearje, de útfiering beheine en de werombrochte rûtelist ynterpretearje.
As Jint in ûntbrekkende dnsResolve of myIpAddress rapportearret by it evaluearjen fan PAC, is mear JavaScript lade net perfoarst de oplossing. Dy PAC-helpers hearre by de omjouwing dy't de hostapplikaasje leveret.
Foardat FindProxyForURL oanroppen wurdt
Kies de stipe PAC-helpersset en adresfamyljes, en ynstallearje dy helpers dan op de motor. Behâld har kontrakten: dnsResolve nimt in hostnamme, myIpAddress nimt gjin arguminten en hat in belied foar lokale ynterface nedich, en shExpMatch brûkt shell-styl patroanen. In stub dy't in handich wearde werombringt, kin stil de ferkearde rûte kieze.
Mei dy initialisaasje dien, kin de kearnoanrop der yn Jint 4.4.0 sa útsjen:
var destination = new Uri(destinationUrl);
engine.Execute(pacSource);
var routeList = engine.Invoke(
"FindProxyForURL",
destinationUrl,
destination.IdnHost
).AsString();engine is de konfigurearre Jint.Engine; pacSource is it ophelle PAC-programma. destination.IdnHost jout de hostnamme sûnder poarte of paad. Dit oanrop hellet gjin PAC op en iepenet gjin proxyferbining.
Nei it oanrop
Ynterpretearje in resultaat lykas PROXY proxy.example:8080; DIRECT as in oardere list fan rûtekandidaten en fallback. It hiele snipper as proxy-URL trochjaan ferliest syn betsjutting. Hâld in evaluaasjeflater apart fan in eksplisyt DIRECT-resultaat.
Wylst it rint
Konfigurearje Jint syn beheiningen foar doer, statements, ûnthâld en annulearring, en eksposearje allinnich de fereaske hostfunksjes. Beheine DNS-callbacks apart: kontrôles op JavaScript-útfiering meitsje in willekeurich blokkearjend hostoanrop net ûnderbrekber. Serialisearje tagong ta in motor of jou parallelism eigen besit fan aparte eksimplaren; motors binne net feilich foar tagelyk gebrûk.
PAC-ymplemintaasjes yn browsers kinne ferskille yn helperútwreidings en de URL-details dy't se eksposearje, benammen foar HTTPS. Ien foarbyldresultaat metsje bewissiget minder as it routinggedrach fan de browser metsje.