ਜਦੋਂ CONNECT 200 ਵਾਪਸ ਕਰਦਾ ਹੈ ਅਤੇ TLS ਤੁਰੰਤ ਡੀਕੋਡ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਤਾਂ ਸਰਟੀਫਿਕੇਟ ਜਾਂ ਸਾਈਫਰ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਕਨੈਕਟਰ ਵਿੱਚ ਸੀਮਾ ਬਾਈਟਾਂ ਦੀ ਜਾਂਚ ਕਰੋ।

ਤਿਆਰ ਕੀਤਾ ਅਧਿਕਾਰ ਮੁੱਲ ਪਹਿਲਾਂ ਹੀ ਨਵੀਂ ਲਾਈਨ ਨਾਲ ਖ਼ਤਮ ਹੋ ਸਕਦਾ ਹੈ। ਇੱਕ ਹੋਰ ਲਾਈਨ-ਅੰਤ ਜੋੜਨ ਨਾਲ HTTP ਹੈਡਰ ਜਲਦੀ ਖ਼ਤਮ ਹੋ ਸਕਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਲੋੜੀਂਦਾ Host ਖੇਤਰ ਜਾਂ ਹੋਰ ਸਾਦਾ ਟੈਕਸਟ ਬੇਨਤੀ ਦੇ ਪਿੱਛੇ ਰਹਿ ਜਾਂਦਾ ਹੈ।

ਘੱਟੋ-ਘੱਟ HTTP/1.1 CONNECT ਬੇਨਤੀ ਲਾਈਨਾਂ ਵਿਚਕਾਰ CRLF ਅਤੇ ਅੰਤ ਵਿੱਚ ਖਾਲੀ ਲਾਈਨ ਵਰਤਦੀ ਹੈ:

b"CONNECT example.com:443 HTTP/1.1\r\nHost: example.com:443\r\n\r\n"

ਕੋਈ ਵੀ ਅਧਿਕਾਰ ਖੇਤਰ ਉਸ ਆਖਰੀ ਖਾਲੀ ਲਾਈਨ ਤੋਂ ਪਹਿਲਾਂ ਰੱਖੋ, ਅੰਦਰ ਲਾਈਨ ਬਰੇਕ ਤੋਂ ਬਿਨਾਂ। Python ਵਿੱਚ "\n" ਨਵੀਂ ਲਾਈਨ ਦਰਸਾਉਂਦਾ ਹੈ; ਬੈਕਸਲੈਸ਼ ਅਤੇ n ਅੱਖਰ ਵਾਲੀ ਕੱਚੀ ਸਟ੍ਰਿੰਗ ਨਹੀਂ। ਹਟਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਜਾਂਚੋ ਕਿ ਐਨਕੋਡਿੰਗ ਸਹਾਇਕ ਕਿਹੜੀਆਂ ਬਾਈਟਾਂ ਬਣਾਉਂਦਾ ਹੈ—ਪੁਰਾਣੇ ਸਹਾਇਕ ਲਾਈਨ ਬਰੇਕ ਜੋੜ ਸਕਦੇ ਸਨ।

CONNECT ਸਫਲ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਉਹ ਬਾਕੀ ਬਾਈਟਾਂ ਸੁਰੰਗ ਪ੍ਰੋਟੋਕੋਲ ਦੀਆਂ ਹਨ। ਭਟਕਿਆ ਸਾਦਾ ਟੈਕਸਟ TLS ਦੀ ਉਮੀਦ ਕਰਨ ਵਾਲੇ ਸਾਥੀ ਤੱਕ ਪਹੁੰਚ ਸਕਦਾ ਹੈ। ਸਫਲ ਸਥਿਤੀ ਖਰਾਬ ਬਣੀ ਬੇਨਤੀ ਤੋਂ ਬਾਅਦ ਪਹਿਲਾਂ ਹੀ ਕਤਾਰ ਵਿੱਚ ਰੱਖੀਆਂ ਬਾਈਟਾਂ ਨੂੰ ਠੀਕ ਨਹੀਂ ਕਰ ਸਕਦੀ।

ਪ੍ਰਾਪਤੀ ਸੀਮਾ ਵੀ ਜਾਂਚੋ। ਸਾਕਟ TLS ਨੂੰ ਸੌਂਪਣ ਤੋਂ ਪਹਿਲਾਂ ਪੂਰਾ ਪ੍ਰੌਕਸੀ ਜਵਾਬ ਪੜ੍ਹੋ, ਅੰਸ਼ਕ ਪੜ੍ਹਤ ਸੰਭਾਲੋ ਅਤੇ ਹੈਡਰਾਂ ਤੋਂ ਅੱਗੇ ਪੜ੍ਹਿਆ ਸਭ ਕੁਝ ਸੁਰੱਖਿਅਤ ਰੱਖੋ। ਇੱਕ ਸਾਕਟ ਪੜ੍ਹਤ ਵਿੱਚ ਇੱਕ ਪੂਰਾ ਸੁਨੇਹਾ ਹੋਣਾ ਜ਼ਰੂਰੀ ਨਹੀਂ।

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

ਸੰਬੰਧਿਤ ਲੇਖ