Python http.client CONNECT: HTTP/1.1 sejak Python 3.12
Periksa implementasi Python dan transport sebelum menerapkan solusi HTTP/1.0 CONNECT lama.
Pernyataan lama bahwa Python selalu mengirim HTTP/1.0 untuk CONNECT bukan lagi aturan umum yang aman. Python 3.12 mengubah terowongan http.client menjadi HTTP/1.1 dan menambahkan pembuatan header Host otomatis saat tidak disediakan.
Perubahan itu termasuk dalam implementasi pustaka standar yang terdokumentasi. Pustaka HTTP tingkat lebih tinggi dapat menimpa atau membungkus perilaku terowongan, jadi catat versinya serta versi Python.
Jika proxy menolak terowongan, periksa pertukaran CONNECT yang benar-benar dihasilkan klien tersebut. Mengubah versi HTTP permintaan tujuan atau menambahkan header Host ke permintaan situs web tidak selalu mengubah permintaan terowongan sebelumnya.
Demikian pula, mengedit bidang privat pada contoh adaptor Requests lama dapat mengunci aplikasi ke API internal yang usang. Utamakan kombinasi klien dan runtime yang kompatibel dan didukung serta integrasi proxy yang terdokumentasi.
Pisahkan kedua percakapan dalam laporan: permintaan HTTP yang digunakan untuk membuka terowongan, lalu protokol yang dinegosiasikan dengan tujuan di dalamnya. Keduanya dapat memakai versi berbeda dan gagal pada tahap berbeda.