Python: SSLError, плохое рукопожатие, неожиданный EOF в запросе на получение - PullRequest
0 голосов
/ 31 марта 2020

У меня проблема при попытке сделать запрос на получение на указанном c сайте, используя python.

Мой код:

import requests

url = 'https://www.beneficiossociais.caixa.gov.br/consulta/beneficio/04.01.00-00_00.asp'
r = requests.get(url, verify=False)

Ошибка:

SSLError: HTTPSConnectionPool (host = 'www.beneficiossociais.caixa.gov.br', port = 443): превышено максимальное количество повторов с URL: /consulta/beneficio/04.01.00 -00_00. asp (вызвано SSLError (SSLError ("плохое рукопожатие: SysCallError (-1, 'неожиданный EOF')")))

1 Ответ

0 голосов
/ 31 марта 2020

Сервер, к которому вы пытаетесь обратиться, практически не работает. Помимо поддержки устаревших и небезопасных SSL 2 и SSL 3 и поддержки только TLS 1.0 в качестве достаточно безопасной версии протокола, он поддерживает только те шифры, которые считаются небезопасными или слабыми. Так как эти шифры отключены в Python и иногда даже не компилируются в текущие версии OpenSSL (то есть не могут быть включены с помощью хаков, подобных этому ), любое рукопожатие TLS с этим сломанным сервером завершается неудачно. Игнорирование ошибок сертификата, как вы делаете, не поможет, так как это не проблема сертификата, которая вызывает сбой рукопожатия, а отсутствие общих шифров. Подробнее см. отчет SSLLabs этого сайта.

...