Python http.client CONNECT: HTTP/1.1 sedert Python 3.12
Kontroleer die Python- en vervoerimplementering voordat jy ou HTTP/1.0 CONNECT-omwegoplossings toepas.
'n Ou bewering dat Python altyd HTTP/1.0 vir CONNECT stuur, is nie meer 'n veilige algemene reël nie. Python 3.12 het http.client-tonnelvorming na HTTP/1.1 verander en outomatiese Host-kopopskrif-generering bygevoeg wanneer dit nie verskaf word nie.
Daardie verandering hoort by die gedokumenteerde standaardbiblioteek-implementering. 'n Hoër-vlak HTTP-biblioteek kan tonnelgedrag oorheers of omhul, so teken sy weergawe sowel as Python se weergawe aan.
As 'n instaanbediener die tonnel verwerp, ondersoek die CONNECT-uitruiling wat daardie kliënt werklik produseer. Om die bestemmingversoek se HTTP-weergawe te verander of 'n Host-kop by die webwerfversoek te voeg, verander nie noodwendig die vroeëre tonnelversoek nie.
Net so kan die wysiging van private velde in 'n ou Requests-adaptervoorbeeld die toepassing aan 'n verouderde interne API vaspen. Verkies 'n versoenbare ondersteunde kliënt/lopiestyd-kombinasie en 'n gedokumenteerde instaanbediener-integrasie.
Hou die twee gesprekke apart in die verslag: die HTTP-versoek wat gebruik word om die tonnel oop te maak, dan die protokol wat met die bestemming daarbinne onderhandel word. Hulle kan verskillende weergawes gebruik en op verskillende stadiums misluk.