PAC మూల్యాంకనం సమయంలో dnsResolve లేదా myIpAddress లేదని Jint నివేదిస్తే, మరింత JavaScript లోడ్ చేయడం తప్పనిసరి పరిష్కారం కాదు. ఆ PAC సహాయకులు హోస్ట్ అప్లికేషన్ అందించే వాతావరణానికి చెందుతాయి.

FindProxyForURLను పిలవడానికి ముందు

మద్దతు ఉన్న PAC సహాయక సెట్ మరియు చిరునామా కుటుంబాలను ఎంచుకోండి, ఆపై ఆ సహాయకులను ఇంజిన్‌లో ఇన్‌స్టాల్ చేయండి. వాటి ఒప్పందాలను కాపాడండి: dnsResolve హోస్ట్‌నేమ్‌ను తీసుకుంటుంది, myIpAddress ఎటువంటి ఆర్గ్యుమెంట్‌లను తీసుకోదు మరియు స్థానిక ఇంటర్‌ఫేస్ విధానం అవసరం, shExpMatch షెల్-శైలి నమూనాలను ఉపయోగిస్తుంది. సౌకర్యవంతమైన విలువను తిరిగి ఇచ్చే స్టబ్ నిశ్శబ్దంగా తప్పు మార్గాన్ని ఎంచుకోవచ్చు.

ఆ ప్రారంభ పని పూర్తయిన తర్వాత, 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 కోసం. ఒక నమూనా ఫలితంతో సరిపోలడం బ్రౌజర్ యొక్క మార్గదర్శక ప్రవర్తనతో సరిపోలడం కంటే తక్కువ నిరూపిస్తుంది.

సంబంధిత వ్యాసాలు