Старото тврдење дека Python секогаш праќа HTTP/1.0 за CONNECT веќе не е безбедно општо правило. Python 3.12 го промени тунелирањето во http.client на HTTP/1.1 и додаде автоматско генерирање на заглавието Host кога не е доставено.

Таа промена припаѓа на документираната имплементација на стандардната библиотека. HTTP библиотека на повисоко ниво може да го надмине или обвитка однесувањето на тунелот, затоа забележете ја нејзината верзија и верзијата на Python.

Ако проксито го одбие тунелот, проверете ја CONNECT размената што овој клиент навистина ја создал. Менувањето на HTTP верзијата на барањето до дестинацијата или додавањето заглавие Host на барањето до веб-страницата не мора да го смени претходното барање за тунел.

Слично, уредувањето приватни полиња во стар пример за Requests адаптер може да ја заклучи апликацијата на застарено внатрешно API. Претпочитајте компатибилна поддржана комбинација на клиент и околина за извршување и документирана интеграција со прокси.

Држете ги двата разговора одделно во извештајот: HTTP барањето што се користи за отворање на тунелот, потоа протоколот договорен со дестинацијата внатре во него. Тие можат да користат различни верзии и да не успеат во различни фази.

Поврзани статии