Jint PAC баалоо: жок жардамчылар жана маршрут жыйынтыктары
FindProxyForURL аткаруу — бир кадам: хост PAC жардамчыларын ишке ашырышы, аткарууну чектеши жана кайтарылган маршрут тизмесин чечмелеши керек.
Эгер 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 үчүн. Бир үлгү жыйынтыкка дал келүү браузердин багыттоо жүрүм-турумуна дал келүүдөн азыраак нерсени далилдейт.