ਲੋਕ socks5h ਨੂੰ socks5 ਦੀ ਵਧੇਰੇ ਸੌਖੀ ਸਪੈਲਿੰਗ ਮੰਨਦੇ ਹਨ, ਅਤੇ ਉਮੀਦ ਕਰਦੇ ਹਨ ਕਿ ਦੋਵੇਂ ਇੱਕੋ ਬੇਨਤੀ ਇੱਕੋ ਥਾਂ ਭੇਜਣਗੇ। ਵਾਧੂ ਅੱਖਰ ਇਸ ਦੀ ਬਜਾਏ DNS ਪੁੱਛਗਿੱਛ ਨੂੰ ਹਿਲਾਉਂਦਾ ਹੈ। ਜਿਸ ਮਸ਼ੀਨ ਵਿੱਚ ਰਿਜ਼ੋਲਵਰ ਅਤੇ ਪ੍ਰੌਕਸੀ ਵੱਖ-ਵੱਖ ਨੈੱਟਵਰਕਾਂ ਵਿੱਚ ਹੁੰਦੇ ਹਨ, ਉੱਥੇ ਇਹੀ ਕੰਮ ਕਰਨ ਵਾਲੀ ਅਤੇ ਅਸਫਲ ਹੋਣ ਵਾਲੀ ਬੇਨਤੀ ਵਿਚਕਾਰ ਫ਼ਰਕ ਹੈ।

ਇੱਕ ਅੱਖਰ, ਦੋ ਰਿਜ਼ੋਲਵਰ

ਸਕੀਮ ਤੈਅ ਕਰਦੀ ਹੈ ਕਿ ਮੰਜ਼ਿਲ ਦਾ ਨਾਮ ਕਿੱਥੇ ਪਤਾ ਬਣਦਾ ਹੈ। ਸਥਾਨਕ ਰਿਜ਼ੋਲਿਊਸ਼ਨ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਉੱਤੇ ਕਨਫਿਗਰ ਕੀਤਾ ਰਿਜ਼ੋਲਵਰ ਵਰਤਦਾ ਹੈ। ਦੂਰਸਥ ਰਿਜ਼ੋਲਿਊਸ਼ਨ ਹੋਸਟਨਾਮ ਨੂੰ SOCKS ਬੇਨਤੀ ਦੇ ਅੰਦਰ ਰੱਖਦਾ ਹੈ, ਅਤੇ ਪ੍ਰੌਕਸੀ ਉਸਨੂੰ ਆਪਣੇ ਰਿਜ਼ੋਲਵਰ ਅਤੇ ਨੈੱਟਵਰਕ ਬਾਰੇ ਆਪਣੇ ਨਜ਼ਰੀਏ ਨਾਲ ਲੱਭਦੀ ਹੈ। ਦੋਵੇਂ ਰੂਪ ਅਜੇ ਵੀ ਉਸੇ ਪੋਰਟ ਉੱਤੇ ਉਸੇ ਪ੍ਰੌਕਸੀ ਪਤੇ ਨਾਲ ਜੁੜਦੇ ਹਨ, ਇਸ ਲਈ ਫ਼ਰਕ ਰਾਹ ਵਿੱਚ ਨਹੀਂ, ਬੇਨਤੀ ਦੇ ਮੁੱਖ ਹਿੱਸੇ ਵਿੱਚ ਹੈ।

ਸਕੀਮ ਵਿੱਚ ਕੁਝ ਵੀ ਐਨਕ੍ਰਿਪਸ਼ਨ ਜਾਂ ਪ੍ਰਮਾਣਿਕਤਾ ਨਹੀਂ ਬਦਲਦਾ; ਸਿਰਫ਼ DNS ਰਾਹ ਸਰਕਦਾ ਹੈ। ਇਸ ਲਈ ਅੱਖਰ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨਾ ਸੌਖਾ ਅਤੇ ਗ਼ਲਤੀ ਕਰਨਾ ਮਹਿੰਗਾ ਹੈ।

ਉਹੀ ਪ੍ਰੌਕਸੀ, ਵੱਖਰੀ ਬੇਨਤੀ

ਦੋਵੇਂ ਕਾਲ ਇੱਕ ਅੱਖਰ ਨਾਲ ਵੱਖਰੇ ਹਨ। ਬਾਕੀ ਸਭ ਕੁਝ ਇੱਕੋ ਜਿਹਾ ਹੈ:

curl --proxy socks5://proxy.example:1080 https://service.example/
curl --proxy socks5h://proxy.example:1080 https://service.example/

The curl ਪ੍ਰੌਕਸੀ ਹਵਾਲਾ ਇਹਨਾਂ ਸਕੀਮਾਂ ਨੂੰ ਵੱਖਰੇ ਤੌਰ ਉੱਤੇ ਦਸਤਾਵੇਜ਼ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਹੀ ਉਹਨਾਂ ਨੂੰ ਉਪਨਾਮ ਨਾ ਮੰਨਣ ਦਾ ਪ੍ਰਮਾਣਿਕ ਕਾਰਨ ਹੈ। ਤੁਹਾਨੂੰ ਵਰਤਣ ਦੀ ਇਜਾਜ਼ਤ ਵਾਲੇ ਨਿਰਦੋਸ਼ ਐਂਡਪੌਇੰਟ ਵਿਰੁੱਧ ਦੋਵੇਂ ਚਲਾਓ ਅਤੇ ਫ਼ਰਕ ਪੜ੍ਹੋ। ਸਫਲ ਦੂਰਸਥ ਖੋਜ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦੀ, ਕਿਉਂਕਿ ਬ੍ਰਾਊਜ਼ਰ, ਪੈਕੇਜ ਮੈਨੇਜਰ ਅਤੇ ਭਾਸ਼ਾ ਰਨਟਾਈਮ ਹਰ ਇੱਕ ਆਪਣੇ ਲਈ ਚੁਣਦਾ ਹੈ।

ਪ੍ਰੌਕਸੀ ਦਾ ਆਪਣਾ ਨਾਮ ਸਥਾਨਕ ਤੌਰ ਉੱਤੇ ਹੱਲ ਹੁੰਦਾ ਹੈ

ਉਸ ਕਮਾਂਡ ਵਿੱਚ, ਹੋਰ ਕੁਝ ਵੀ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ proxy.example ਨੂੰ ਪਤਾ ਬਣਨਾ ਪੈਂਦਾ ਹੈ, ਅਤੇ ਉਹ ਖੋਜ ਹਮੇਸ਼ਾ ਸਥਾਨਕ ਹੁੰਦੀ ਹੈ। service.example ਦਾ ਰਿਜ਼ੋਲਿਊਸ਼ਨ ਪ੍ਰੌਕਸੀ ਵੱਲ ਹਿਲਾਉਣ ਨਾਲ ਪ੍ਰੌਕਸੀ ਦੇ ਆਪਣੇ ਨਾਮ ਲਈ ਕੁਝ ਨਹੀਂ ਹੁੰਦਾ, ਜਿਸਨੂੰ ਅਜੇ ਵੀ ਅਜਿਹਾ ਰਿਜ਼ੋਲਵਰ ਚਾਹੀਦਾ ਹੈ ਜਿਸ ਤੱਕ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਪਹੁੰਚ ਸਕੇ। ਇੱਥੇ ਹੀ VPN ਤਸਵੀਰ ਬਦਲਦਾ ਹੈ।

ਜੇ ਪ੍ਰੌਕਸੀ ਦਾ ਨਾਮ ਸਿਰਫ਼ ਸੁਰੰਗ ਦੇ ਅੰਦਰ ਹੱਲ ਹੁੰਦਾ ਹੈ, ਤਾਂ curl ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਸੁਰੰਗ ਚਾਲੂ ਹੋਣ ਉੱਤੇ ਕਨੈਕਸ਼ਨ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। ਫਿਰ ਕਿਹੜੀ ਸਕੀਮ ਜਿੱਤੇਗੀ ਇਹ ਇਸ ਉੱਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜਾ ਪਾਸਾ ਜਵਾਬ ਦੇ ਸਕਦਾ ਹੈ। ਜਦੋਂ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਮੰਜ਼ਿਲ ਹੱਲ ਨਹੀਂ ਕਰ ਸਕਦੀ ਪਰ ਪ੍ਰੌਕਸੀ ਕਰ ਸਕਦੀ ਹੈ, ਤਾਂ socks5 ਅਸਫਲ ਹੁੰਦਾ ਹੈ ਅਤੇ socks5h ਸਫਲ ਹੁੰਦਾ ਹੈ। ਜਦੋਂ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਇਸਨੂੰ ਸੁਰੰਗ ਰਾਹੀਂ ਹੱਲ ਕਰਦੀ ਹੈ ਅਤੇ ਪ੍ਰੌਕਸੀ ਨਹੀਂ ਕਰ ਸਕਦੀ, ਤਾਂ socks5 ਕੰਮ ਕਰਦਾ ਹੈ ਅਤੇ socks5h ਅਸਫਲ ਹੁੰਦਾ ਹੈ।

ਸਕੀਮ ਪ੍ਰੌਕਸੀ ਨਾਲ ਕਨੈਕਸ਼ਨ ਨੂੰ VPN ਦੇ ਅੰਦਰ ਜਾਂ ਬਾਹਰ ਨਹੀਂ ਰੱਖਦੀ; ਇਹ ਰਾਊਟਿੰਗ ਟੇਬਲ ਕਰਦੀ ਹੈ, ਅਤੇ ਸਕੀਮ ਇਸਨੂੰ ਕਦੇ ਨਹੀਂ ਵੇਖਦੀ। ਇਸ ਲਈ ਇੱਕ ਸੁਰੰਗ ਇੱਕ ਸਕੀਮ ਠੀਕ ਕਰ ਸਕਦੀ ਹੈ ਅਤੇ ਦੂਜੀ ਨੂੰ ਉਸੇ ਮਸ਼ੀਨ ਉੱਤੇ ਤੋੜ ਸਕਦੀ ਹੈ। ਅੱਖਰ ਸਿਰਫ਼ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਸਵਾਲ ਕੌਣ ਪੁੱਛਦਾ ਹੈ।

ਹਰ ਪਾਸਾ ਕੀ ਹੱਲ ਕਰ ਸਕਦਾ ਹੈ

ਸਾਰਵਜਨਿਕ ਪ੍ਰੌਕਸੀ ਸਿਰਫ਼ ਕੰਪਨੀ ਵਿੱਚ ਮੌਜੂਦ ਨਾਮ ਹੱਲ ਨਹੀਂ ਕਰ ਸਕਦੀ, ਇਸ ਲਈ ਉੱਥੇ ਹੋਸਟਨਾਮ ਭੇਜਣਾ ਪ੍ਰੌਕਸੀ ਉੱਤੇ ਅਸਫਲ ਹੁੰਦਾ ਹੈ ਅਤੇ ਸਥਾਨਕ DNS ਗ਼ਲਤੀ ਦੀ ਬਜਾਏ ਪ੍ਰੌਕਸੀ ਗ਼ਲਤੀ ਵਜੋਂ ਦਿਖਦਾ ਹੈ। ਉਸੇ ਪ੍ਰਾਈਵੇਟ ਨੈੱਟਵਰਕ ਦੇ ਅੰਦਰਲੀ ਪ੍ਰੌਕਸੀ ਆਮ ਤੌਰ ਉੱਤੇ ਅਜਿਹੇ ਨਾਮ ਹੱਲ ਕਰ ਸਕਦੀ ਹੈ, ਅਤੇ ਉੱਥੇ ਹੀ socks5h ਆਪਣਾ ਮੁੱਲ ਸਾਬਤ ਕਰਦਾ ਹੈ। ਰਿਜ਼ੋਲਵਰ ਦੀ ਥਾਂ ਉਸ ਨੀਤੀ ਤੋਂ ਚੁਣੋ ਜੋ ਤੁਹਾਨੂੰ ਸੱਚਮੁੱਚ ਚਾਹੀਦੀ ਹੈ, ਕਿਉਂਕਿ ਦੂਰਸਥ DNS ਆਪਣੇ ਆਪ ਵਧੇਰੇ ਸਮਰੱਥ ਨਹੀਂ ਹੁੰਦਾ ਅਤੇ ਇਹ ਨਾਮ ਤੀਜੀ ਧਿਰ ਨੂੰ ਦਿੰਦਾ ਹੈ। ਸਾਰਵਜਨਿਕ ਮੰਜ਼ਿਲ ਲਈ ਦੋਵੇਂ ਰੂਪ ਕੰਮ ਕਰਦੇ ਹਨ, ਇਸ ਲਈ ਉਹੀ ਚੁਣੋ ਜੋ ਤੁਹਾਡੇ ਹੋਰ ਸਾਧਨ ਪਹਿਲਾਂ ਹੀ ਵਰਤਦੇ ਹਨ।

ਉਹ ਚੋਣ ਟਿੱਪਣੀ ਵਿੱਚ ਨਹੀਂ, ਰਨਬੁੱਕ ਵਿੱਚ ਲਿਖੋ, ਅਤੇ ਪ੍ਰਮਾਣ ਪੱਤਰ ਸਾਂਝੇ ਇਤਿਹਾਸ ਅਤੇ ਡਾਇਗਨੋਸਟਿਕ ਆਉਟਪੁੱਟ ਤੋਂ ਬਾਹਰ ਰੱਖੋ। ਫਿਰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਇੱਕ ਵੇਰੀਏਬਲ ਬਦਲੋ: ਉਹੀ ਮੰਜ਼ਿਲ, ਉਹੀ ਬਾਈਨਰੀ, ਉਹੀ ਰਿਜ਼ੋਲਵਰ, ਇੱਕ ਅੱਖਰ।

ਕਿਹੜੀ ਬਾਈਨਰੀ ਨੇ ਜਵਾਬ ਦਿੱਤਾ

ਇੱਕੋ ਮਸ਼ੀਨ ਉੱਤੇ ਦੋ curl ਬਾਈਨਰੀਆਂ ਸੰਸਕਰਣ ਅਤੇ ਬਿਲਡ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿੱਚ ਵੱਖਰੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। Unix ਵਰਗੇ ਸ਼ੈੱਲ ਵਿੱਚ type -a curl ਰਾਹ ਉੱਤੇ ਹਰ ਮੇਲ ਦੀ ਸੂਚੀ ਦਿੰਦਾ ਹੈ ਅਤੇ curl --version ਚੱਲਣ ਵਾਲੀ ਬਾਈਨਰੀ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਿਖਾਉਂਦਾ ਹੈ। ਰਾਹ ਵਿੱਚ ਪਹਿਲਾਂ ਆਉਣ ਵਾਲੀ ਰੈਪਰ ਸਕ੍ਰਿਪਟ ਜਾਂ ਉਪਨਾਮ ਇੱਕ ਆਮ ਕਾਰਨ ਹੈ ਕਿ ਨਤੀਜੇ ਤੁਹਾਡੇ ਪਰਖ ਰਹੇ ਬਾਈਨਰੀ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ।

ਅਸਮਰਥਿਤ ਸਕੀਮ, ਨਾਮ ਹੱਲ ਨਾ ਕਰ ਸਕਣ ਵਾਲੀ ਪ੍ਰੌਕਸੀ ਅਤੇ ਨਾ ਪਹੁੰਚਣ ਯੋਗ ਮੰਜ਼ਿਲ ਤਿੰਨ ਵੱਖਰੀਆਂ ਗ਼ਲਤੀਆਂ ਹਨ, ਇਸ ਲਈ ਅੱਖਰ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਸੁਨੇਹਾ ਪੜ੍ਹੋ। socks5h ਸਿੰਟੈਕਸ ਤੋਂ ਬਿਨਾਂ ਬਿਲਡ ਪ੍ਰੌਕਸੀ ਸਟ੍ਰਿੰਗ ਨੂੰ ਅਸਮਰਥਿਤ ਦੱਸਦਾ ਹੈ, ਜੋ ਹੱਲ ਨਾ ਹੋਏ ਨਾਮ ਵਰਗਾ ਨਹੀਂ ਹੈ। ਸਿਸਟਮ curl ਬਾਰੇ ਇੱਕ ਪੁਰਾਣੀ ਰਿਪੋਰਟ ਨੂੰ ਹਰ ਪਲੇਟਫ਼ਾਰਮ ਲਈ ਸਥਾਈ ਨਿਯਮ ਨਾ ਬਣਾਓ।

ਸੰਬੰਧਿਤ ਲੇਖ