Как видно из этого отчета о SSLLabs сервер, к которому вы пытаетесь получить доступ, ужасно сломан.Он получает оценку F (наихудшее), что в основном связано с его ужасными небезопасными шифрами:
Единственное не ужасное, но только слабое использование шифров3DES.Из-за этой уязвимости этот шифр, вероятно, не включен в сборку openssl на вашей платформе (например, в системах на основе Debian и Debian, таких как Ubuntu, этот шифр не включен).
Это означает, что единственный способ получить доступ к серверу из скрипта Python - это использовать версию Python, связанную с более старой версией OpenSSL или связанную с современной версией, но с явно включенным этим шифром.Даже в этом случае вам, вероятно, потребуется специально включить 3DES, так как это временно отключено urllib.Таким образом, когда Python собирается с OpenSSL, в который включена поддержка 3DES, должно работать следующее:
import ssl
from urllib.request import urlopen
url = 'https://slpin.universalservice.org/'
ctx = ssl.create_default_context()
ctx.set_ciphers('3DES')
urlopen(url, context = ctx).read()
В моем случае это дает 403 Forbidden
, что соответствует тому, что я получаю, когда посещаю этот URL с помощью браузера..