Python http.client CONNECT: HTTP/1.1 от Python 3.12
Проверете реализацията на Python и транспорта, преди да приложите стари решения за HTTP/1.0 CONNECT.
Старото твърдение, че Python винаги изпраща HTTP/1.0 за CONNECT, вече не е безопасно общо правило. Python 3.12 промени тунелирането в http.client на HTTP/1.1 и добави автоматично генериране на заглавка Host, когато не е подадена.
Тази промяна принадлежи на документираната реализация на стандартната библиотека. По-високо ниво HTTP библиотека може да отмени или обвие поведението на тунела, затова запишете нейната версия заедно с версията на Python.
Ако проксито отхвърли тунела, прегледайте размяната CONNECT, която този клиент действително е създал. Промяната на HTTP версията на заявката към дестинацията или добавянето на заглавка Host към заявката към сайта не променя непременно по-ранната заявка за тунела.
По същия начин редактирането на частни полета в стар пример за адаптер на Requests може да заключи приложението към остарял вътрешен API. Предпочитайте съвместима поддържана комбинация от клиент и среда за изпълнение и документирана интеграция с прокси.
Дръжте двата разговора отделно в отчета: HTTP заявката, използвана за отваряне на тунела, след това протоколът, договорен с дестинацията вътре в него. Те могат да използват различни версии и да се провалят на различни етапи.