Python http.client CONNECT: HTTP/1.1 ekde Python 3.12
Kontrolu la Python- kaj transportan efektivigon antaŭ ol apliki malnovajn HTTP/1.0 CONNECT solvojn.
La malnova aserto, ke Python ĉiam sendas HTTP/1.0 por CONNECT, jam ne estas sekura ĝenerala regulo. Python 3.12 ŝanĝis la tuneladon de http.client al HTTP/1.1 kaj aldonis aŭtomatan generadon de la Host-kapo, kiam ĝi ne estas provizita.
Tiu ŝanĝo apartenas al la dokumentita efektivigo de la norma biblioteko. Pli alta HTTP-biblioteko povas anstataŭigi aŭ ĉirkaŭvolvi la tunelan konduton, do notu ĝian version kaj ankaŭ la version de Python.
Se prokurilo rifuzas la tunelon, ekzamenu la CONNECT-interŝanĝon, kiun tiu kliento efektive produktis. Ŝanĝi la HTTP-version de la cella peto aŭ aldoni Host-kapon al la reteja peto ne nepre ŝanĝas la pli fruan tunelan peton.
Sammaniere, redakti privatajn kampojn en malnova ekzemplo de Requests-adaptilo povas ŝlosi la aplikaĵon al eksdata interna API. Preferu kongruan subtenatan kombinaĵon de kliento kaj rulejo kaj dokumentitan prokurilan integriĝon.
Tenu la du konversaciojn apartaj en la raporto: la HTTP-peto uzata por malfermi la tunelon, poste la protokolo interkonsentita kun la celo interne. Ili povas uzi malsamajn versiojn kaj malsukcesi en malsamaj etapoj.