CFNetworkCopyProxiesForURL ਵੱਲੋਂ ਵਾਪਸ ਕੀਤੇ PAC URL ਦਾ ਮੁਲਾਂਕਣ ਕਰੋ
PAC ਪਤੇ ਨੂੰ ਪ੍ਰੌਕਸੀ ਐਂਡਪੌਇੰਟ ਸਮਝੇ ਬਿਨਾਂ CFNetwork ਦੇ ਸਵੈਚਾਲਿਤ ਪ੍ਰੌਕਸੀ ਕੌਂਫਿਗਰੇਸ਼ਨ ਨਤੀਜਿਆਂ ਨੂੰ ਮੰਜ਼ਿਲ-ਖਾਸ ਰਸਤਿਆਂ ਵਿੱਚ ਬਦਲੋ।
ਤੁਹਾਡੀ ਐਪ CFNetwork ਨੂੰ ਪੁੱਛਦੀ ਹੈ ਕਿ ਵੈੱਬਸਾਈਟ ਤੱਕ ਕਿਵੇਂ ਪਹੁੰਚਣਾ ਹੈ ਅਤੇ .pac ਨਾਲ ਖ਼ਤਮ ਹੁੰਦਾ URL ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ। ਉਹ ਹੋਸਟਨਾਮ ਸਾਕਟ ਕਨੈਕਸ਼ਨ ਵਿੱਚ ਪਾਉਣਾ ਗ਼ਲਤ ਰਾਹ ਹੈ: ਇਹ ਕੌਂਫਿਗਰੇਸ਼ਨ ਸਕ੍ਰਿਪਟ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ।
CFNetworkCopyProxiesForURL ਟਾਰਗਿਟ URL ਲਈ ਸ਼ਬਦਕੋਸ਼ਾਂ ਦੀ ਕ੍ਰਮਬੱਧ ਸ਼੍ਰੇਣੀ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਐਂਡਪੌਇੰਟ ਖੇਤਰ ਪੜ੍ਹਨ ਤੋਂ ਪਹਿਲਾਂ kCFProxyTypeKey ਦੀ ਜਾਂਚ ਕਰੋ। kCFProxyTypeAutoConfigurationURL ਕਿਸਮ ਦਾ ਸ਼ਬਦਕੋਸ਼ kCFProxyAutoConfigurationURLKey ਦਿੰਦਾ ਹੈ, ਜਿਸ ਲਈ ਇੱਕ ਹੋਰ ਮੁਲਾਂਕਣ ਕਦਮ ਲੋੜੀਂਦਾ ਹੈ।
- ਸਿਸਟਮ ਦੀਆਂ ਮੌਜੂਦਾ ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ ਲਵੋ ਅਤੇ ਅਸਲ ਮੰਜ਼ਿਲ URL ਲਈ ਰਸਤੇ ਮੰਗੋ।
- ਜਦੋਂ ਨਤੀਜਾ ਕਿਸੇ PAC URL ਦਾ ਹਵਾਲਾ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਉਸ ਸਕ੍ਰਿਪਟ ਦਾ ਉਸੇ ਮੰਜ਼ਿਲ ਲਈ ਮੁਲਾਂਕਣ ਕਰੋ।
- ਨਤੀਜੇ ਵਜੋਂ ਮਿਲੇ ਉਮੀਦਵਾਰਾਂ ਦੀਆਂ ਕਿਸਮਾਂ ਅਤੇ ਐਂਡਪੌਇੰਟ ਪੜ੍ਹੋ। HTTP ਪ੍ਰੌਕਸੀ, SOCKS ਪ੍ਰੌਕਸੀ ਅਤੇ ਸਿੱਧਾ ਰਾਹ ਵੱਖਰੇ ਕਨੈਕਸ਼ਨ ਸੰਭਾਲ ਦੀ ਲੋੜ ਰੱਖਦੇ ਹਨ।
- ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਫੇਲ੍ਹ ਹੋਣ ਅਤੇ ਫਾਲਬੈਕ ਵਿਵਹਾਰ ਲਾਗੂ ਕਰਦਿਆਂ ਉਮੀਦਵਾਰਾਂ ਦਾ ਕ੍ਰਮ ਬਣਾਈ ਰੱਖੋ।
CFNetworkExecuteProxyAutoConfigurationURL ਸਕ੍ਰਿਪਟ ਨੂੰ ਅਸਿੰਕ੍ਰੋਨ ਢੰਗ ਨਾਲ ਡਾਊਨਲੋਡ ਅਤੇ ਮੁਲਾਂਕਣ ਕਰਦਾ ਹੈ। ਇਸ ਦਾ ਤੁਰੰਤ ਵਾਪਸੀ ਮੁੱਲ ਇੱਕ run loop ਸਰੋਤ ਹੈ। ਉਸ ਸਰੋਤ ਦਾ ਸਮਾਂ-ਨਿਰਧਾਰਨ ਕਰੋ; ਕੰਮ ਪੂਰਾ ਹੋਣ ਤੋਂ ਬਾਅਦ ਕਾਲਬੈਕ ਮੁਲਾਂਕਣ ਨਤੀਜਾ ਜਾਂ ਗ਼ਲਤੀ ਦਿੰਦਾ ਹੈ। ਸਰੋਤ ਬਣਾ ਕੇ ਤੁਰੰਤ ਖਾਲੀ ਨਤੀਜਾ ਵੇਰੀਏਬਲ ਪੜ੍ਹਨਾ ਕਿਸੇ ਚੀਜ਼ ਦੀ ਉਡੀਕ ਨਹੀਂ ਕਰਦਾ। ਜੇ ਕਾਰਵਾਈ ਰੱਦ ਕਰਨੀ ਹੋਵੇ ਤਾਂ ਸਰੋਤ ਨੂੰ ਅਵੈਧ ਕਰੋ।
ਟਾਰਗਿਟ URL ਨੂੰ ਖੋਜ ਨਾਲ ਜੋੜੀ ਰੱਖੋ। PAC ਸਕ੍ਰਿਪਟ ਦੋ ਹੋਸਟਾਂ ਲਈ ਵੱਖਰੇ ਰਸਤੇ ਚੁਣ ਸਕਦੀ ਹੈ, ਇਸ ਲਈ ਇੱਕ ਹੱਲ ਹੋਈ ਪ੍ਰੌਕਸੀ ਨੂੰ ਹਰ ਅਗਲੀ ਮੰਜ਼ਿਲ ਦਾ ਜਵਾਬ ਵਜੋਂ ਸੰਭਾਲਣਾ ਸਕ੍ਰਿਪਟ ਦੀ ਨੀਤੀ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਇਸੇ ਤਰ੍ਹਾਂ, ਸਿੱਧਾ ਉਮੀਦਵਾਰ ਸਪਸ਼ਟ ਰਾਹ ਹੈ, ਗੁੰਮ ਪ੍ਰੌਕਸੀ ਹੋਸਟਨਾਮ ਨਹੀਂ।
ਇਹ API ਉਦੋਂ ਲਾਹੇਵੰਦ ਹਨ ਜਦੋਂ ਕਿਸੇ ਕਸਟਮ ਟ੍ਰਾਂਸਪੋਰਟ ਨੂੰ ਸਿਸਟਮ ਸੈਟਿੰਗਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰਨੀ ਪਵੇ। ਉਹ ਉਸ ਟ੍ਰਾਂਸਪੋਰਟ ਲਈ ਅਗਲਾ ਪ੍ਰੌਕਸੀ ਪ੍ਰੋਟੋਕੋਲ ਲਾਗੂ ਨਹੀਂ ਕਰਦੇ, ਅਤੇ ਖੋਜ Keychain ਤੋਂ ਪਾਸਵਰਡ ਨਹੀਂ ਲਿਆਉਂਦੀ। macOS ਉੱਤੇ, Keychain ਵਿੱਚ ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਵੱਖਰੇ ਤੌਰ ਤੇ ਮਿਲਾਓ।