Python http.client CONNECT: HTTP/1.1 tangu Python 3.12
Kagua utekelezaji wa Python na usafirishaji kabla ya kutumia suluhisho za zamani za HTTP/1.0 CONNECT.
Kauli ya zamani kwamba Python hutuma HTTP/1.0 kwa CONNECT kila wakati si kanuni ya jumla salama tena. Python 3.12 ilibadilisha utengenezaji wa handaki wa http.client kuwa HTTP/1.1 na ikaongeza utengenezaji wa kichwa cha Host kiotomatiki kinapokosekana.
Badiliko hilo ni sehemu ya utekelezaji ulioandikwa wa maktaba ya kawaida. Maktaba ya HTTP ya ngazi ya juu inaweza kupuuza au kufunika tabia ya handaki, kwa hiyo andika toleo lake pamoja na toleo la Python.
Ikiwa proksi inakataa handaki, chunguza mabadilishano ya CONNECT ambayo mteja huyo alizalisha kwa kweli. Kubadilisha toleo la HTTP la ombi la lengo au kuongeza kichwa cha Host kwenye ombi la tovuti hakubadilishi lazima ombi la handaki la awali.
Vivyo hivyo, kuhariri sehemu za faragha katika mfano wa zamani wa adapta ya Requests kunaweza kufunga programu kwenye API ya ndani iliyopitwa na wakati. Pendelea mchanganyiko unaoendana na unaoungwa mkono wa mteja na mazingira ya utekelezaji pamoja na muunganisho ulioandikwa wa proksi.
Tenganisha mazungumzo mawili katika ripoti: ombi la HTTP lililotumika kufungua handaki, kisha itifaki iliyojadiliwa na lengo ndani yake. Zinaweza kutumia matoleo tofauti na kushindwa katika hatua tofauti.