Stara tvrdnja da Python uvijek šalje HTTP/1.0 za CONNECT više nije sigurno opće pravilo. Python 3.12 promijenio je tuneliranje u http.client na HTTP/1.1 i dodao automatsko generiranje zaglavlja Host kada ono nije dostavljeno.

Ta promjena pripada dokumentiranoj implementaciji standardne biblioteke. HTTP biblioteka višeg nivoa može nadjačati ili obaviti ponašanje tunela, pa zabilježite njenu verziju kao i verziju Pythona.

Ako proxy odbije tunel, pregledajte CONNECT razmjenu koju je taj klijent stvarno proizveo. Promjena HTTP verzije zahtjeva odredišta ili dodavanje zaglavlja Host zahtjevu prema web stranici ne mijenja nužno raniji zahtjev tunela.

Isto tako, uređivanje privatnih polja u starom primjeru Requests adaptera može zaključati aplikaciju na zastarjeli interni API. Preferirajte kompatibilnu podržanu kombinaciju klijenta i okruženja te dokumentiranu integraciju proxyja.

Držite dva razgovora odvojeno u izvještaju: HTTP zahtjev korišten za otvaranje tunela, zatim protokol dogovoren s odredištem unutar njega. Oni mogu koristiti različite verzije i pasti u različitim fazama.

Povezani članci