Ошибка SSL: процедуры: SSL3_GET_SERVER_CERTIFICATE: проверка сертификата не выполнена
У меня есть большое количество ссылок на скачивание файлов в файле txt
. Я пытаюсь написать python
script, чтобы загрузить все файлы за один раз, но в итоге получилась следующая ошибка:
SSLError: [Errno 1] _ssl.c:499: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Файл загружается через интранет.
Я попытался загрузить файл через браузер, и я получил всплывающее сообщение с some certificate
. Я попытался это сделать, но не нашел способ решить эту проблему.
Ответы
Ответ 1
Сертификат сервера недействителен либо потому, что он подписан недействительным ЦС (внутренний ЦС, сам подписанный,...), не соответствует имени сервера или по истечении срока действия.
В любом случае вам нужно найти, как сказать библиотеке Python, что вы используете, что он не должен останавливаться на недопустимом сертификате, если вы действительно хотите загрузить файлы с этого сервера.
Ответ 2
Опытный сам при использовании requests
:
Это крайне неуверенно; используйте только в качестве последнего средства! (см. комментарий rdlowrey.)
requests.get('https://github.com', verify=True)
Сделав это, verify=False
помогло.
Ответ 3
Получил эту проблему сегодня, и после блуждания в течение нескольких часов только узнал, что мой сервер datetime был неправильным.
Итак, сначала проверьте сервер datetime, прежде чем углубляться в эту проблему.
также попробуйте сделать
>> sudo update-ca-certificates
Ответ 4
У меня возникла такая же проблема из-за библиотеки certifi
. Мне также помогла установка другой версии.
Ответ 5
Обычно обновляется файл certifi и/или certifi cacert.pem
. Мне также пришлось обновить мою версию python. Против 2.7.5 не работал из-за того, как он обрабатывает запросы SNI.
Как только у вас есть обновленный файл pem, вы можете сделать свой http-запрос, используя:
requests.get(url, verify='/path/to/cacert.pem')
Ответ 6
также может произойти, когда ваше местное время выключено (например, до проверки времени проверки), это было в моей ошибке...
Ответ 7
#disable SERVER_CERTIFICATE verify with insecure
wget url --insecure