Python http.client CONNECT: Python 3.12 ਤੋਂ HTTP/1.1
ਪੁਰਾਣੇ HTTP/1.0 CONNECT ਹੱਲ ਲਾਗੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ Python ਅਤੇ ਟਰਾਂਸਪੋਰਟ ਲਾਗੂਕਰਨ ਦੀ ਜਾਂਚ ਕਰੋ।
ਇਹ ਪੁਰਾਣਾ ਬਿਆਨ ਕਿ Python CONNECT ਲਈ ਹਮੇਸ਼ਾ HTTP/1.0 ਭੇਜਦਾ ਹੈ, ਹੁਣ ਸੁਰੱਖਿਅਤ ਆਮ ਨਿਯਮ ਨਹੀਂ ਹੈ। Python 3.12 ਨੇ http.client ਦੀ ਟਨਲਿੰਗ ਨੂੰ HTTP/1.1 ਵਿੱਚ ਬਦਲਿਆ ਅਤੇ Host ਹੈਡਰ ਨਾ ਦਿੱਤੇ ਜਾਣ 'ਤੇ ਆਪਣੇ ਆਪ ਬਣਾਉਣ ਦੀ ਸੁਵਿਧਾ ਜੋੜੀ।
ਇਹ ਤਬਦੀਲੀ ਦਸਤਾਵੇਜ਼ੀ ਮਿਆਰੀ ਲਾਇਬ੍ਰੇਰੀ ਲਾਗੂਕਰਨ ਦਾ ਹਿੱਸਾ ਹੈ। ਉੱਚ-ਪੱਧਰੀ HTTP ਲਾਇਬ੍ਰੇਰੀ ਟਨਲ ਦੇ ਵਿਵਹਾਰ ਨੂੰ ਬਦਲ ਜਾਂ ਲਪੇਟ ਸਕਦੀ ਹੈ, ਇਸ ਲਈ ਇਸ ਦਾ ਸੰਸਕਰਣ ਅਤੇ Python ਦਾ ਸੰਸਕਰਣ ਦੋਵੇਂ ਦਰਜ ਕਰੋ।
ਜੇ ਪ੍ਰੌਕਸੀ ਟਨਲ ਨੂੰ ਰੱਦ ਕਰਦੀ ਹੈ, ਤਾਂ ਉਸ ਕਲਾਇੰਟ ਵੱਲੋਂ ਅਸਲ ਵਿੱਚ ਬਣਾਏ ਗਏ CONNECT ਵਟਾਂਦਰੇ ਦੀ ਜਾਂਚ ਕਰੋ। ਮੰਜ਼ਿਲ ਦੀ ਬੇਨਤੀ ਦਾ HTTP ਸੰਸਕਰਣ ਬਦਲਣਾ ਜਾਂ ਵੈੱਬਸਾਈਟ ਬੇਨਤੀ ਵਿੱਚ Host ਹੈਡਰ ਜੋੜਨਾ ਪਿਛਲੀ ਟਨਲ ਬੇਨਤੀ ਨੂੰ ਜ਼ਰੂਰੀ ਨਹੀਂ ਬਦਲਦਾ।
ਇਸੇ ਤਰ੍ਹਾਂ, ਪੁਰਾਣੇ Requests ਐਡਾਪਟਰ ਉਦਾਹਰਣ ਵਿੱਚ ਨਿੱਜੀ ਖੇਤਰ ਸੰਪਾਦਿਤ ਕਰਨਾ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਪੁਰਾਣੀ ਅੰਦਰੂਨੀ API ਨਾਲ ਬੰਨ੍ਹ ਸਕਦਾ ਹੈ। ਅਨੁਕੂਲ ਅਤੇ ਸਮਰਥਿਤ ਕਲਾਇੰਟ ਤੇ ਰਨਟਾਈਮ ਸੰਜੋਗ ਅਤੇ ਦਸਤਾਵੇਜ਼ੀ ਪ੍ਰੌਕਸੀ ਏਕੀਕਰਨ ਨੂੰ ਤਰਜੀਹ ਦਿਓ।
ਰਿਪੋਰਟ ਵਿੱਚ ਦੋਵੇਂ ਗੱਲਬਾਤਾਂ ਵੱਖਰੀਆਂ ਰੱਖੋ: ਟਨਲ ਖੋਲ੍ਹਣ ਲਈ ਵਰਤੀ ਗਈ HTTP ਬੇਨਤੀ, ਫਿਰ ਇਸ ਦੇ ਅੰਦਰ ਮੰਜ਼ਿਲ ਨਾਲ ਗੱਲਬਾਤ ਕੀਤਾ ਪ੍ਰੋਟੋਕੋਲ। ਉਹ ਵੱਖਰੇ ਸੰਸਕਰਣ ਵਰਤ ਸਕਦੇ ਹਨ ਅਤੇ ਵੱਖਰੇ ਪੜਾਵਾਂ 'ਤੇ ਅਸਫਲ ਹੋ ਸਕਦੇ ਹਨ।