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 ವಿನಂತಿ, ನಂತರ ಅದರೊಳಗೆ ಗಮ್ಯಸ್ಥಾನದೊಂದಿಗೆ ಸಮಾಲೋಚಿಸಿದ ಪ್ರೋಟೋಕಾಲ್. ಅವು ವಿಭಿನ್ನ ಆವೃತ್ತಿಗಳನ್ನು ಬಳಸಬಹುದು ಮತ್ತು ವಿಭಿನ್ನ ಹಂತಗಳಲ್ಲಿ ವಿಫಲವಾಗಬಹುದು.