ਜੇ PAC ਦਾ ਮੁਲਾਂਕਣ ਕਰਦੇ ਸਮੇਂ Jint ਦੱਸਦਾ ਹੈ ਕਿ dnsResolve ਜਾਂ myIpAddress ਨਹੀਂ ਹੈ, ਤਾਂ ਹੋਰ 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 ਲਈ। ਇੱਕ ਨਮੂਨਾ ਨਤੀਜੇ ਨਾਲ ਮੇਲ ਖਾਣਾ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਰੂਟਿੰਗ ਵਿਵਹਾਰ ਨਾਲ ਮੇਲ ਖਾਣ ਤੋਂ ਘੱਟ ਸਾਬਤ ਕਰਦਾ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ