Python http.client CONNECT: HTTP/1.1 od Pythona 3.12
Preverite izvedbo Pythona in prevoza, preden uporabite stare rešitve HTTP/1.0 CONNECT.
Stara trditev, da Python za CONNECT vedno pošlje HTTP/1.0, ni več varno splošno pravilo. Python 3.12 je tuneliranje v http.client spremenil v HTTP/1.1 in dodal samodejno ustvarjanje glave Host, kadar ni podana.
Ta sprememba spada k dokumentirani izvedbi standardne knjižnice. Knjižnica HTTP na višji ravni lahko vedenje tunela prepiše ali ovije, zato zapišite njeno različico in različico Pythona.
Če proxy tunel zavrne, preglejte izmenjavo CONNECT, ki jo je ta odjemalec dejansko ustvaril. Spreminjanje različice HTTP v zahtevi do cilja ali dodajanje glave Host zahtevi do spletnega mesta ne spremeni nujno prejšnje zahteve tunela.
Podobno lahko urejanje zasebnih polj v starem primeru vmesnika Requests aplikacijo zaklene na zastareli notranji API. Raje izberite združljivo in podprto kombinacijo odjemalca in izvajalnega okolja ter dokumentirano integracijo proxyja.
V poročilu imejte dva pogovora ločena: zahteva HTTP, uporabljena za odpiranje tunela, nato protokol, dogovorjen s ciljem znotraj njega. Uporabljata lahko različne različice in spodletita v različnih fazah.