curl ਦਾ --preproxy ਵਿਕਲਪ HTTP ਜਾਂ HTTPS proxy ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ SOCKS proxy ਨਾਲ ਜੁੜਦਾ ਹੈ। ਇਹ ਇਸ ਖ਼ਾਸ ਲੜੀ ਨੂੰ ਸਮਰਥਨ ਦਿੰਦਾ ਹੈ, proxy ਸਰਵਰਾਂ ਦੀ ਮਨਮਰਜ਼ੀ ਸੂਚੀ ਨੂੰ ਨਹੀਂ।

ਰਸਤਾ ਹੈ ਕਲਾਇੰਟ → SOCKS endpoint → HTTP proxy → ਮੰਜ਼ਿਲ। ਕਮਾਂਡ ਵਿੱਚ ਦੋਵੇਂ ਦਸਤਾਵੇਜ਼ੀ endpoint ਬਦਲੋ:

curl --preproxy socks5h://203.0.113.10:1080 --proxy http://203.0.113.20:8080 --noproxy '' --connect-timeout 5 --max-time 20 --verbose https://example.com/

SOCKS ਸੇਵਾ HTTP proxy ਦੇ ਪਤੇ ਅਤੇ ਪੋਰਟ ਤੱਕ ਪਹੁੰਚ ਸਕਣੀ ਚਾਹੀਦੀ ਹੈ। ਫਿਰ HTTP proxy ਨੂੰ ਮੰਜ਼ਿਲ ਬੇਨਤੀ ਸਵੀਕਾਰ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। ਦੂਜਾ proxy hostname ਵਰਤੇ ਤਾਂ ਪਹਿਲਾ SOCKS mode ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਉਸ ਨਾਂ ਦਾ ਹੱਲ ਕਿੱਥੇ ਹੁੰਦਾ ਹੈ; ਅੰਕਾਂ ਵਾਲਾ endpoint ਇਸ ਖੋਜ ਨੂੰ ਟਾਲਦਾ ਹੈ।

ਨਾਕਾਮ ਪੜਾਅ ਲੱਭਣਾ

ਪਹਿਲਾਂ ਹਰ endpoint ਰਾਹੀਂ ਬੇਨਤੀ ਵੱਖਰੀ ਪੱਕੀ ਕਰੋ; HTTP ਪੜਾਅ ਲਈ ਸਮੇਂ ਦੀ ਹੱਦ ਵਾਲੀ HTTP proxy ਜਾਂਚ ਵਰਤੋ। ਦੋਵੇਂ ਚੱਲਣ ਤਾਂ ਵੀ ਪਹਿਲਾ proxy ਦੂਜੇ ਤੱਕ ਨਾ ਪਹੁੰਚ ਸਕੇ ਤਾਂ ਜੋੜਿਆ ਰਸਤਾ ਨਾਕਾਮ ਹੋ ਸਕਦਾ ਹੈ।

ਵੇਰਵੇਵਾਲਾ trace ਕੁਨੈਕਸ਼ਨ ਦੇ ਕ੍ਰਮ ਵਿੱਚ ਪੜ੍ਹੋ। ਦੂਜੇ proxy ਤੱਕ ਪਹੁੰਚਦੇ ਸਮੇਂ SOCKS ਨਾਕਾਮੀ HTTP proxy ਦੇ ਵੈੱਬਸਾਈਟ ਵੱਲ CONNECT ਸਵੀਕਾਰ ਜਾਂ ਰੱਦ ਕਰਨ ਦੇ ਫ਼ੈਸਲੇ ਤੋਂ ਪਹਿਲਾਂ ਆਉਂਦੀ ਹੈ। ਲਿਖੋ ਕਿਹੜਾ handshake ਨਾਕਾਮ ਹੋਇਆ।

ਵਾਧੂ ਪੜਾਅ ਕਦੋਂ ਮਦਦ ਕਰਦਾ ਹੈ

ਅਧਿਕਾਰਤ HTTP proxy ਤੱਕ SOCKS ਰਸਤੇ ਪਹੁੰਚ ਹੋਵੇ ਤਾਂ ਇਹ ਬਣਤਰ ਲਾਭਦਾਇਕ ਹੋ ਸਕਦੀ ਹੈ। ਪਰ ਇਹ ਇੱਕ ਹੋਰ ਸੇਵਾ ਅਤੇ ਨੈੱਟਵਰਕ ਰਸਤਾ ਜੋੜਦੀ ਹੈ ਜੋ ਨਾਕਾਮ ਹੋ ਸਕਦਾ ਜਾਂ ਦੇਰੀ ਵਧਾ ਸਕਦਾ ਹੈ। ਜਨਤਕ proxy ਸੂਚੀ ਦੇ endpoint ਲੜੀ ਵਿੱਚ ਜੋੜਨ ਨਾਲ ਭਰੋਸੇਯੋਗਤਾ ਜਾਂ ਗੁਮਨਾਮੀ ਦੀ ਗਾਰੰਟੀ ਨਹੀਂ ਮਿਲਦੀ ਅਤੇ ਕੁਨੈਕਸ਼ਨ ਸੰਭਾਲਦੇ ਪੱਖਾਂ ਉੱਤੇ ਭਰੋਸਾ ਅਜੇ ਵੀ ਚਾਹੀਦਾ ਹੈ।

--preproxy ਲਈ curl 7.52.0 ਜਾਂ ਨਵਾਂ ਚਾਹੀਦਾ ਹੈ; ਹੋਰ ਐਪਾਂ ਸ਼ਾਇਦ ਇਸੇ ਬਣਤਰ ਦਾ ਸਮਰਥਨ ਨਾ ਕਰਨ।

ਸੰਬੰਧਿਤ ਲੇਖ