Jint PAC-mat: vantar hjálparaðgerðir og leiðarniðurstöður
Að keyra FindProxyForURL er eitt skref: hýsillinn verður að útfæra PAC-hjálpara, takmarka keyrsluna og túlka leiðalistann sem skilað er.
Ef Jint tilkynnir að dnsResolve eða myIpAddress vanti við mat á PAC, er að hlaða meiri JavaScript ekki endilega lausnin. Þessir PAC-hjálparar tilheyra umhverfinu sem hýslaforritið býður upp á.
Áður en FindProxyForURL er kallað
Veldu studda PAC-hjálparasafnið og vistfangafjölskyldur og settu síðan hjálparana í vélina. Varðveittu skilyrði þeirra: dnsResolve tekur hýsilnafn, myIpAddress tekur engin rök og þarf stefnu fyrir staðbundið viðmót, og shExpMatch notar mynstur í shell-stíl. Stubbi sem skilar þægilegu gildi getur hljóðlega valið ranga leið.
Þegar þessi frumstilling er búin getur kjarnakallið litið svona út í Jint 4.4.0:
var destination = new Uri(destinationUrl);
engine.Execute(pacSource);
var routeList = engine.Invoke(
"FindProxyForURL",
destinationUrl,
destination.IdnHost
).AsString();engine er stillta Jint.Engine; pacSource er sótta PAC-forritið. destination.IdnHost gefur hýsilnafnið án ports eða slóðar. Þetta kall sækir hvorki PAC né opnar proxy-tengingu.
Eftir kallið
Túlkaðu niðurstöðu eins og PROXY proxy.example:8080; DIRECT sem raðaðan lista yfir leiðarvalkosti og varaleið. Að senda alla strenginn sem proxy-slóð eyðileggur merkingu hans. Haltu matstapi aðskildu frá skýrri DIRECT-niðurstöðu.
Meðan það keyrir
Stilltu takmarkanir Jint á tíma, setningar, minni og afturköllun og birtu aðeins nauðsynlegu hýsilföllin. Takmarkaðu DNS-svörun sérstaklega: athuganir á JavaScript-keyrslu gera handahófskennt tefjandi hýsilkall ekki rofna. Raðaðu aðgangi að vél eða gefðu samhliða vinnu sérstaklega eigin tilvik; vélar eru ekki öruggar fyrir samtímis notkun.
PAC-útfærslur vafra geta verið ólíkar að hjálparaútvíkkunum og URL-atriðum sem þær birta, sérstaklega fyrir HTTPS. Að passa eina sýnishornsniðurstöðu sannar minna en að passa leiðsöguhegðun vafrans.