Я пытаюсь подключиться к прокси-серверу с проверкой подлинности https с помощью basi c auth (user: pass с кодировкой b64). Мне удалось заставить прокси без авторизации работать нормально, но я недавно купил прокси, и теперь мне нужно, чтобы авторизованные прокси работали. Это казалось простым, все, что мне нужно было сделать, это добавить заголовок «прокси-авторизация», и все заработало. После этого все заработало, и я получил ответ «200 соединений установлено». После этого я пытаюсь обернуть сокет ssl библиотекой "ssl". Это приводит к появлению следующей ошибки: «Ошибка декодирования tlsv1». Посмотрев на некоторые сообщения в стеке, я решил, что мне нужно изменить используемую версию протокола, я попытался использовать любую другую доступную версию, которая по какой-то причине все еще приводила к ошибке, о которой я говорил выше (это было странно, потому что я не использовал "tlsv1" .
credentials = base64.encodebytes(b"user:pass").decode().strip(r"\n")
s.connect((proxy[0], int(proxy[1])))
s.send(f"CONNECT site.com:443 HTTP/1.1\r\nProxy-Authorization: Basic {credentials}\r\nHost: site.com\r\n\r\n".encode())
connect_response = s.recv(4096)
print(connect_response)
s = wrap_socket(s)
Проведя дополнительные исследования, я выяснил, что это может иметь какое-то отношение к заголовку ответа «область». Я не смог найти никаких документов по этому поводу и не знаю, для чего он используется. Это заставляет меня поверить в то, что я делаю что-то не так, и мне нужно выполнить больше действий, прежде чем я попытаюсь обернуть сокет. Мой вопрос: почему я получаю эту ошибку / трассировку при попытке обернуть сокет и как я могу это исправить?