Jint-PAC-Evaluatioun: fehlend Hëllefsfunktiounen an Trassresultater
FindProxyForURL auszeféieren ass ee Schrëtt: den Host muss PAC-Hëllefsfunktiounen implementéieren, d'Ausféierung begrenzen an déi zréckginn Trasslëscht interpretéieren.
Wann Jint eng fehlend dnsResolve oder myIpAddress beim Evaluéiere vum PAC mellt, ass méi JavaScript ze lueden net onbedéngt d'Léisung. Dës PAC-Hëllefsfunktiounen gehéieren zu der Ëmgebung, déi d'Hostapplikatioun zur Verfügung stellt.
Virum Opruff vum FindProxyForURL
Wielt dee ënnerstëtzten PAC-Hëllefsfunktiounsset an d'Adressfamilljen, an installéiert dës Hëllefsfunktiounen dann am Motor. Respektéiert hir Kontrakter: dnsResolve hëlt en Hostnumm, myIpAddress hëlt keng Argumenter a brauch eng Politik fir de lokalen Interface, an shExpMatch benotzt Muschter am Shell-Stil. En Stub, deen eng bequem Wäert zréckgëtt, kann onopfälleg den falschen Trass wielen.
Nodeem dës Initialiséierung gemaach ass, kann den Haaptopruff an Jint 4.4.0 sou ausgesinn:
var destination = new Uri(destinationUrl);
engine.Execute(pacSource);
var routeList = engine.Invoke(
"FindProxyForURL",
destinationUrl,
destination.IdnHost
).AsString();engine ass den ageriichten Jint.Engine; pacSource ass dee geholten PAC-Programm. destination.IdnHost gëtt den Hostnumm ouni Port oder Pad. Dësen Opruff hëlt kee PAC an mécht keng Proxyverbindung op.
Nom Opruff
Interpretéiert en Resultat wéi PROXY proxy.example:8080; DIRECT als eng geuerdent Lëscht vun Trasskandidaten an Ersatzléisung. De ganze String als Proxy-URL ze schécken hëlt seng Bedeitung ewech. Haalt en Evaluatiounsfehler getrennt vun engem explizitten DIRECT-Resultat.
Wärend et leeft
Konfiguréiert dem Jint seng Grenze fir Dauer, Aussoen, Erënnerung an Ofbroch, a setzt just déi néideg Hostfunktiounen aus. Begrenzt DNS-Ruffunktiounen separat: Prüfunge vun der JavaScript-Ausféierung maachen en arbiträr blockéierenden Hostopruff net ënnerbrachbar. Serialiséiert den Zougang zu engem Motor oder gitt concurrent Aarbecht getrennt besaten Instanzen; Motore si net sécher fir gläichzäiteg Notzung.
PAC-Implementatioune vu Browsere kënnen an Hëllefsfunktiounserweiderungen an den URL-Detailer, déi se weisen, ënnerscheede, besonnesch fir HTTPS. Eng eenzeg Beispillresultat ze treffen beweist manner wéi d'Routingverhalen vum Browser ze treffen.