Ja Jint ziņo, ka PAC novērtēšanas laikā trūkst dnsResolve vai myIpAddress, vairāk JavaScript ielāde ne vienmēr ir risinājums. Šie PAC palīgi pieder videi, ko nodrošina resursdatora lietotne.

Pirms FindProxyForURL izsaukšanas

Izvēlieties atbalstīto PAC palīgu kopu un adrešu saimes, pēc tam instalējiet šos palīgus dzinējā. Saglabājiet to līgumus: dnsResolve saņem resursdatora nosaukumu, myIpAddress neņem argumentus un prasa lokālās saskarnes politiku, bet shExpMatch izmanto čaulas stila modeļus. Vietture, kas atgriež ērtu vērtību, var klusi izvēlēties nepareizu maršrutu.

Kad šī inicializācija ir veikta, pamata izsaukums Jint 4.4.0 var izskatīties šādi:

var destination = new Uri(destinationUrl);
engine.Execute(pacSource);
var routeList = engine.Invoke(
    "FindProxyForURL",
    destinationUrl,
    destination.IdnHost
).AsString();

engine ir konfigurētais Jint.Engine; pacSource ir iegūtā PAC programma. destination.IdnHost nodrošina resursdatora nosaukumu bez porta vai ceļa. Šis izsaukums neiegūst PAC un neatver starpniekservera savienojumu.

Pēc izsaukuma

Rezultātu, piemēram, PROXY proxy.example:8080; DIRECT, interpretējiet kā sakārtotu maršruta kandidātu un rezerves sarakstu. Nododot visu šo virkni kā starpniekservera URL, tiek zaudēta tās nozīme. Novērtēšanas kļūdu nošķiriet no skaidra DIRECT rezultāta.

Kamēr tas darbojas

Konfigurējiet Jint ilguma, paziņojumu, atmiņas un atcelšanas ierobežojumus un atklājiet tikai nepieciešamās resursdatora funkcijas. DNS atzvanus ierobežojiet atsevišķi: JavaScript izpildes pārbaudes nepadara patvaļīgu bloķējošu resursdatora izsaukumu pārtraucamu. Serializējiet piekļuvi dzinējam vai piešķiriet vienlaicīgam darbam atsevišķi piederētus gadījumus; dzinēji nav droši vienlaicīgai lietošanai.

Pārlūku PAC ieviešanas var atšķirties palīgu paplašinājumos un atklātajās URL detaļās, īpaši HTTPS gadījumā. Viena parauga rezultāta atbilstība nozīmē mazāk nekā pārlūka maršrutēšanas uzvedības atbilstība.

Saistītie raksti