Когда я изменяю URL-адрес прокси с https на HTTP, тот же код работает.
Это происходит потому, что вы используете HTTP-прокси, к которому должен обращаться HTTP, а не HTTPS даже для https://..
URL. Вот как обычно работает HTTPS-проксирование. Обратите внимание, что хотя теоретически прокси-сервер может прослушивать, если он получает обычное соединение или соединение TLS, на практике прокси-серверы (и серверы) используют разные порты для HTTP и HTTPS - таким образом, если он работает на одном порту с HTTP, он, скорее всего, не будет работать на тот же порт с HTTPS.
proxyconnect tcp: tls: первая запись не похожа на рукопожатие TLS.
Это происходит потому, что прокси-сервер отвечает с простой ошибкой HTTP на странный HTTP-запрос (который фактически является началом рукопожатия TLS).
Однако URL-адрес прокси-сервера с https работает в python.
Хотя выглядит так, что он работает на самом деле это не так. Python запросы будут по-прежнему использовать простой HTTP для прокси, даже если https://
был указан как URL.
Вы можете попытаться установить простое соединение TLS с самим прокси, например, с помощью Python или openssl s_client
. Скорее всего, произойдет сбой с некоторой ошибкой рукопожатия, потому что прокси не ожидает TLS.