'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.

Verwante artikels