Python http.client CONNECT: HTTP/1.1 zënter Python 3.12
Iwwerpréift d'Python- an d'Transport-Implementatioun, ier Dir al HTTP/1.0 CONNECT-Léisunge benotzt.
Déi al Ausso, datt Python fir CONNECT ëmmer HTTP/1.0 schéckt, ass keng sécher allgemeng Regel méi. Python 3.12 huet d'Tunneliséierung vun http.client op HTTP/1.1 ëmgestallt an d'automatesch Erstellung vum Host-Header dobäigesat, wann en net uginn ass.
Déi Ännerung gehéiert zu der dokumentéierter Implementatioun vun der Standardbibliothéik. Eng HTTP-Bibliothéik op méi héijem Niveau kann d'Tunnelverhalen iwwerschreiwen oder emwéckelen, also notéiert hir Versioun souwéi déi vum Python.
Wann e Proxy den Tunnel refuséiert, ënnersicht den CONNECT-Austausch, deen dee Client tatsächlech produzéiert huet. D'HTTP-Versioun vun der Zilufro ze änneren oder dem Websäit-Ufro en Host-Header bäizesetzen ännert net onbedéngt déi fréier Tunnelufro.
Gläichzäiteg kann d'Änneren vu private Felder an engem ale Requests-Adapterbeispill d'Applikatioun un eng veraltert intern API bannen. Preferéiert eng kompatibel ënnerstëtzt Kombinatioun vu Client an Ausféierungsumfeld souwéi eng dokumentéiert Proxy-Integratioun.
Halt déi zwou Konversatiounen am Rapport getrennt: d'HTTP-Ufro, déi benotzt gouf fir den Tunnel opzemaachen, an duerno de Protokoll, dee mam Zil dobannen ausgehandelt gouf. Si kënnen ënnerschiddlech Versiounen benotzen an a verschiddene Phasen feelen.