Եթե Jint-ը PAC-ի գնահատման ընթացքում հայտնում է բացակայող dnsResolve կամ myIpAddress, ապա ավելի շատ JavaScript բեռնելը պարտադիր լուծում չէ։ Այդ PAC օգնականները պատկանում են հոսթ-հավելվածի տրամադրած միջավայրին։

Մինչ FindProxyForURL-ի կանչը

Ընտրեք աջակցվող PAC օգնականների հավաքածուն և հասցեների ընտանիքները, ապա տեղադրեք այդ օգնականները շարժիչում։ Պահպանեք նրանց պայմանագրերը. dnsResolve-ը վերցնում է հոսթի անուն, myIpAddress-ը ոչ մի արգումենտ չի վերցնում և պահանջում է տեղական ինտերֆեյսի քաղաքականություն, իսկ shExpMatch-ը օգտագործում է shell-ոճի ձևանմուշներ։ Հարմար արժեք վերադարձնող stub-ը կարող է լուռ ընտրել սխալ երթուղին։

Այդ նախաձեռնումից հետո հիմնական կանչը Jint 4.4.0-ում կարող է այսպիսի տեսք ունենալ.

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

engine-ը կարգավորված Jint.Engine-ն է, pacSource-ը՝ ստացված PAC ծրագիրը։ destination.IdnHost-ը տրամադրում է հոսթի անունը առանց պորտի կամ ուղու։ Այս կանչը ոչ PAC է ստանում, ոչ էլ պրոքսի միացում է բացում։

Կանչից հետո

Մեկնաբանեք PROXY proxy.example:8080; DIRECT-ի նման արդյունքը որպես երթուղու թեկնածուների և պահուստային տարբերակի դասավորված ցանկ։ Ամբողջ տողը որպես պրոքսի URL փոխանցելը կորցնում է դրա իմաստը։ Գնահատման ձախողումը տարանջատեք բացահայտ DIRECT արդյունքից։

Կատարման ընթացքում

Կարգավորեք Jint-ի տևողության, հայտարարությունների, հիշողության և չեղարկման սահմանափակումները և բացեք միայն անհրաժեշտ հոսթ-ֆունկցիաները։ Սահմանափակեք DNS պատասխանները առանձին. JavaScript-ի կատարման ստուգումները կամայական արգելափակող հոսթ-կանչը չեն դարձնում ընդհատվող։ Հերթականացրեք շարժիչի հասանելիությունը կամ զուգահեռ աշխատանքին տվեք առանձին սեփականությամբ օրինակներ. շարժիչները անվտանգ չեն միաժամանակյա օգտագործման համար։

Դիտարկիչների PAC իրականացումները կարող են տարբերվել օգնականների ընդլայնումներով և բացահայտվող URL մանրամասներով, հատկապես HTTPS-ի համար։ Մեկ նմուշային արդյունքի համընկնումն ապացուցում է ավելի քիչ, քան դիտարկիչի երթուղայնացման վարքագծի համընկնումը։

Առնչվող հոդվածներ