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.

Tengdir greinar