127.0.0.1:8080 ਦੀ ਥਾਂ ਆਪਣੀ ਸੇਵਾ ਜਾਂ HTTP ਪ੍ਰਾਕਸੀ ਸੂਚੀ ਤੋਂ ਕੋਈ ਐਂਡਪੋਇੰਟ ਦਿਓ ਅਤੇ ਇਹ ਕਿਸੇ ਹਾਨੀਰਹਿਤ HTTPS ਮੰਜ਼ਿਲ ਲਈ ਚਲਾਓ:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

ਲੂਪਬੈਕ ਪਤਾ ਤੁਹਾਡੇ ਆਪਣੇ ਕੰਪਿਊਟਰ ਦੇ ਲਿਸਨਰ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਇਹ ਕਮਾਂਡ ਉਸ ਨੂੰ ਸਪਸ਼ਟ ਤੌਰ ’ਤੇ ਚੁਣਦੀ ਹੈ, ਇਸ ਕਾਲ ਲਈ curl ਦੀ ਬਾਈਪਾਸ ਸੂਚੀ ਖਾਲੀ ਕਰਦੀ ਹੈ ਅਤੇ ਕਨੈਕਸ਼ਨ ਬਣਾਉਣ ਲਈ ਪੰਜ ਸਕਿੰਟ ਤੇ ਕੁੱਲ ਪੰਦਰਾਂ ਸਕਿੰਟ ਦਿੰਦੀ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਅਤੇ ਸਿਸਟਮ ਦੀਆਂ ਪ੍ਰਾਕਸੀ ਸੈਟਿੰਗਾਂ ਨਹੀਂ ਬਦਲਦੀਆਂ।

ਜੇ ਸ਼ੈੱਲ ਨੇ curl ਨੂੰ ਕਿਸੇ ਹੋਰ ਪ੍ਰੋਗਰਾਮ ਦਾ ਉਪਨਾਮ ਬਣਾਇਆ ਹੈ, ਤਾਂ curl ਦੀ ਅਸਲ ਚੱਲਣਯੋਗ ਫਾਈਲ ਵਰਤੋ; curl --version ਬਿਲਡ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ। ਜੇ ਲਿਸਨਰ ਨੂੰ ਖੁਦ TLS ਚਾਹੀਦਾ ਹੈ, ਤਾਂ ਉਸ ਦੇ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਦਿੱਤੀ ਪ੍ਰਾਕਸੀ URL ਸਕੀਮ ਵਰਤੋ।

ਇੱਕ ਸਫਲਤਾ ਸੰਕੇਤ ਦੀ ਥਾਂ ਚਾਰ ਨਤੀਜੇ ਪੜ੍ਹੋ

  1. ਚੁਣੀ ਪ੍ਰਾਕਸੀ ਨਾਲ ਕਨੈਕਸ਼ਨ: ਪਤਾ ਅਤੇ ਪੋਰਟ ਪਹੁੰਚਯੋਗ ਹਨ।
  2. CONNECT ਸਵੀਕਾਰ ਹੋਇਆ: ਪ੍ਰਾਕਸੀ ਨੇ HTTPS ਮੰਜ਼ਿਲ ਵੱਲ ਸੁਰੰਗ ਖੋਲ੍ਹੀ।
  3. ਮੰਜ਼ਿਲ ਦਾ ਸਰਟੀਫਿਕੇਟ ਜਾਂਚਿਆ ਗਿਆ: ਉਮੀਦ ਕੀਤੀਆਂ ਭਰੋਸਾ ਜਾਂਚਾਂ ਨਾਲ TLS ਪੂਰਾ ਹੋਇਆ।
  4. ਮੰਜ਼ਿਲ ਦਾ ਜਵਾਬ ਮਿਲਿਆ: ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਲੋੜੀਂਦੇ ਨਤੀਜੇ ਲਈ ਉਸ ਦਾ ਸਟੇਟਸ ਅਤੇ ਸਮੱਗਰੀ ਵੇਖੋ।

ਚੱਲਦੀ ਸੁਰੰਗ ਤੋਂ ਬਾਅਦ ਵੀ ਮੰਜ਼ਿਲ 403 ਜਾਂ 429 ਦੇ ਸਕਦੀ ਹੈ। HTTP ਗਲਤੀ ਵਾਲਾ ਜਵਾਬ ਮਿਲਣ ਤੋਂ ਬਾਅਦ curl ਸਫਲਤਾਪੂਰਵਕ ਬੰਦ ਵੀ ਹੋ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ ਜਵਾਬ ਦਾ ਸਟੇਟਸ ਅਤੇ curl ਦਾ ਗਲਤੀ ਨਤੀਜਾ ਦੋਵੇਂ ਦਰਜ ਕਰੋ। ਸਿਰਫ਼ TCP ਕਨੈਕਸ਼ਨ ਜਾਂ CONNECT ਦੀ ਸਫਲਤਾ ਕਾਫ਼ੀ ਨਹੀਂ।

ਵਾਰ-ਵਾਰ ਤੁਲਨਾ ਲਈ ਸੰਖੇਪ ਨਤੀਜਾ

Unix ਵਰਗੇ ਸ਼ੈੱਲ ਵਿੱਚ ਜਵਾਬ ਦਾ ਮੁੱਖ ਭਾਗ ਛੱਡ ਕੇ ਸੁਰੰਗ ਦਾ ਸਟੇਟਸ, ਮੰਜ਼ਿਲ ਦਾ ਸਟੇਟਸ, ਕਨੈਕਸ਼ਨ ਦਾ ਦੂਜਾ ਸਿਰਾ ਅਤੇ ਲੰਘਿਆ ਸਮਾਂ ਛਾਪੋ:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --silent --show-error --output /dev/null --write-out 'http=%{http_code} connect=%{http_connect} peer=%{remote_ip} total=%{time_total}\n' https://example.com/

http_connect ਸੁਰੰਗ ਦਾ ਜਵਾਬ ਦੱਸਦਾ ਹੈ; http_code ਅੰਤਿਮ HTTP ਜਵਾਬ ਦੱਸਦਾ ਹੈ। remote_ip curl ਦੇ ਕਨੈਕਸ਼ਨ ਦਾ ਦੂਜਾ ਸਿਰਾ ਹੈ, ਪ੍ਰਾਕਸੀ ਦੇ ਐਗਜ਼ਿਟ ਪਤੇ ਦੀ ਸੁਤੰਤਰ ਮਾਪ ਨਹੀਂ। ਹੋਰ ਸਿਸਟਮਾਂ ਉੱਤੇ /dev/null ਬਦਲੋ ਜਾਂ ਜਵਾਬ ਦਾ ਮੁੱਖ ਭਾਗ ਰੱਖੋ।

ਟੈਸਟ ਅਸਫਲ ਹੋਵੇ ਤਾਂ ਕਨੈਕਸ਼ਨ ਬਣਾਉਣ ਜਾਂ ਡੇਟਾ ਭੇਜਣ ਦਾ ਅਸਫਲ ਕਦਮ ਲੱਭੋ ਅਤੇ ਜਿੱਥੇ ਸਿੱਧੇ ਰਸਤੇ ਦੀ ਇਜਾਜ਼ਤ ਹੋਵੇ, ਉਸੇ ਮੰਜ਼ਿਲ ਦੇ ਸਿੱਧੇ ਕਨੈਕਸ਼ਨ ਨਾਲ ਤੁਲਨਾ ਕਰੋ:

curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/

--noproxy '*' ਪ੍ਰਾਕਸੀਆਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਦਾ ਹੈ। ਦੋਵੇਂ ਰਸਤਿਆਂ ਉੱਤੇ ਸਰਟੀਫਿਕੇਟ ਜਾਂਚ ਅਸਫਲ ਹੋਣਾ ਸਾਂਝੀ ਭਰੋਸਾ ਸਮੱਸਿਆ ਵੱਲ ਸੰਕੇਤ ਕਰਦਾ ਹੈ; ਸਿੱਧਾ ਕਨੈਕਸ਼ਨ ਸਫਲ ਪਰ CONNECT ਰੱਦ ਹੋਣਾ ਪ੍ਰਾਕਸੀ ਪ੍ਰਮਾਣੀਕਰਨ ਜਾਂ ਨੀਤੀ ਵੱਲ ਸੰਕੇਤ ਕਰਦਾ ਹੈ। ਵੇਰਵੇ ਵਾਲਾ ਆਉਟਪੁੱਟ ਸਾਂਝਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਵੇਖੋ, ਕਿਉਂਕਿ ਇਸ ਵਿੱਚ ਪਛਾਣ ਦੱਸਣ ਵਾਲੀ ਜਾਣਕਾਰੀ ਹੋ ਸਕਦੀ ਹੈ।

ਨਤੀਜੇ ਨਾਲ ਐਂਡਪੋਇੰਟ, ਟੀਚਾ ਅਤੇ ਸਮਾਂ-ਮੋਹਰ ਸੰਭਾਲੋ। ਇਹ ਦੱਸਦਾ ਹੈ ਕਿ ਉਸ ਬੇਨਤੀ ਵਿੱਚ ਕੀ ਚੱਲਿਆ; ਭਵਿੱਖ ਦੀ ਉਪਲਬਧਤਾ, ਪਰਦੇਦਾਰੀ ਅਤੇ ਲੋਡ ਹੇਠ ਕਾਰਗੁਜ਼ਾਰੀ ਲਈ ਵੱਖਰੇ ਸਬੂਤ ਚਾਹੀਦੇ ਹਨ।

ਸੰਬੰਧਿਤ ਲੇਖ