Ikiwa Jint inaripoti kwamba dnsResolve au myIpAddress haipo wakati wa kutathmini PAC, kupakia JavaScript zaidi si lazima kuwe suluhisho. Visaidizi hivyo vya PAC ni sehemu ya mazingira yanayotolewa na programu mwenyeji.

Kabla ya kuita FindProxyForURL

Chagua seti ya visaidizi vya PAC inayotumika na familia za anwani, kisha sakinisha visaidizi hivyo kwenye injini. Hifadhi mikataba yao: dnsResolve hupokea jina la mwenyeji, myIpAddress haipokei hoja na inahitaji sera ya kiolesura cha ndani, na shExpMatch hutumia mifumo ya mtindo wa shell. Stub inayorudisha thamani rahisi inaweza kuchagua njia isiyo sahihi kwa kimya.

Baada ya usanidi huo wa awali, wito mkuu unaweza kuonekana hivi katika Jint 4.4.0:

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

engine ni Jint.Engine iliyosanidiwa; pacSource ni programu ya PAC iliyopatikana. destination.IdnHost hutoa jina la mwenyeji bila bandari au njia. Wito huu haupati PAC na haufungui muunganisho wa proksi.

Baada ya wito

Tafsiri matokeo kama PROXY proxy.example:8080; DIRECT kama orodha iliyopangwa ya wagombea wa njia na hifadhi. Kupitisha mfuatano wote huo kama URL ya proksi kunapoteza maana yake. Weka kushindwa kwa tathmini tofauti na matokeo ya wazi DIRECT.

Wakati inaendesha

Sanidi vikomo vya Jint vya muda, taarifa, kumbukumbu na kughairi, na uonyeshe tu kazi za mwenyeji zinazohitajika. Dhibiti miito ya DNS kando: ukaguzi wa utekelezaji wa JavaScript haufanyi wito wowote wa mwenyeji unaozuia uweze kukatizwa. Sasisha ufikiaji wa injini au ipe kazi ya wakati mmoja vielelezo vinavyomilikiwa kando; injini si salama kwa matumizi ya wakati mmoja.

Utekelezaji wa PAC wa vivinjari unaweza kutofautiana katika viendelezi vya visaidizi na maelezo ya URL wanayoyafichua, hasa kwa HTTPS. Kulinganisha matokeo moja ya sampuli kunathibitisha kidogo kuliko kulinganisha tabia ya uelekezaji ya kivinjari.

Makala zinazohusiana