Python http.client CONNECT: HTTP/1.1 alates Python 3.12
Kontrollige Pythoni ja transpordi teostust enne vanade HTTP/1.0 CONNECT lahenduste rakendamist.
Vana väide, et Python saadab CONNECTi jaoks alati HTTP/1.0, ei ole enam ohutu üldreegel. Python 3.12 muutis http.clienti tunneliajamise HTTP/1.1-le ja lisas Host-päise automaatse genereerimise, kui seda ei esitata.
See muudatus kuulub dokumenteeritud standardteegi teostuse juurde. Kõrgema taseme HTTP-teek võib tunnelikäitumise üle kirjutada või selle ümbritseda, seega kirjutage üles nii selle versioon kui ka Pythoni versioon.
Kui puhverserver tunnelist keeldub, uurige CONNECT-vahetust, mille see klient tegelikult tekitas. Sihtkoha päringu HTTP-versiooni muutmine või veebisaidi päringule Host-päise lisamine ei muuda tingimata varasemat tunnelipäringut.
Samuti võib privaatsete väljade muutmine vanas Requests-adapteri näites siduda rakenduse aegunud sisemise API-ga. Eelistage ühilduvat toetatud kliendi ja käituskeskkonna kombinatsiooni ning dokumenteeritud puhverserveri integreerimist.
Hoidke kaks vestlust aruandes eraldi: HTTP-päring, mida kasutati tunneli avamiseks, seejärel protokoll, mis lepiti kokku sihtkohaga selle sees. Need võivad kasutada erinevaid versioone ja ebaõnnestuda erinevates etappides.