Ang lumang pahayag na laging nagpapadala ang Python ng HTTP/1.0 para sa CONNECT ay hindi na ligtas na pangkalahatang tuntunin. Binago ng Python 3.12 ang tunneling ng http.client sa HTTP/1.1 at nagdagdag ng awtomatikong pagbuo ng Host header kapag hindi ito ibinigay.

Ang pagbabagong iyon ay kabilang sa dokumentadong implementasyon ng standard library. Ang isang mas mataas na antas na HTTP library ay maaaring i-override o balutin ang pag-uugali ng tunnel, kaya itala ang bersyon nito at gayundin ang bersyon ng Python.

Kung tanggihan ng proxy ang tunnel, suriin ang palitan ng CONNECT na aktuwal na ginawa ng client na iyon. Ang pagbabago ng bersyon ng HTTP ng kahilingan sa destinasyon o pagdaragdag ng Host header sa kahilingan sa website ay hindi laging nagbabago ng naunang kahilingan sa tunnel.

Gayundin, ang pag-edit ng mga pribadong field sa isang lumang halimbawa ng Requests adapter ay maaaring mag-lock ng aplikasyon sa isang lipas na panloob na API. Piliin ang tugma at suportadong kombinasyon ng client at runtime at isang dokumentadong integrasyon ng proxy.

Panatilihing hiwalay ang dalawang usapan sa ulat: ang HTTP request na ginamit upang buksan ang tunnel, pagkatapos ang protocol na napagkasunduan sa destinasyon sa loob nito. Maaari silang gumamit ng magkaibang bersyon at mabigo sa magkaibang yugto.

Kaugnay na mga artikulo