Как исправить ошибку «SSL: CERTIFICATE_VERIFY_FAILED» только в Pycharm (Python3) - PullRequest
0 голосов
/ 29 апреля 2019

При выполнении запроса https в Pycharm с использованием интерпретатора Python3 я получаю сообщение об ошибке:

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1056)

Я склонен полагать, что это проблема с моей конфигурацией Pycharm, так какпроблема возникает только в Pycharm при использовании любой версии Python3.Код прекрасно работает в Pycharm с использованием Python2.7, и он отлично работает при запуске Python3 в командной строке.

Через Pycharm я пытался создавать новые виртуальные среды, используя разные версии Python3.Все это основано на интерпретаторах, которые могут успешно выполнять код независимо от Pycharm.

Наиболее распространенным решением этой ошибки является запуск Install Certificates.command, найденный в /Applications/Python 3.x/, но выполнение этого только подтверждает, что пакет certifi уже обновлен.

последняя строка кода ниже выдает ошибку:

headers = {"authuser":username, "authpass":password}
conn = http.client.HTTPSConnection(url)
conn.request("POST",requestpath, headers)

1 Ответ

0 голосов
/ 29 апреля 2019

Предполагая, что вы работаете с Python 3.4.3 или более поздней версии, и если вы не можете проверить свою цель, попробуйте отключить проверку сертификатов и имен хостов:

headers = {"authuser":user, "authpass":pass}
conn = http.client.HTTPSConnection(url, context=ssl._create_unverified_context())
conn.request("POST",requestpath, headers)

Из официальной документации Python3 на https://docs.python.org/3/library/http.client.html:

Изменено в версии 3.4.3: теперь этот класс выполняет все необходимые сертификат и имя хоста проверяются по умолчанию. Чтобы вернуться к предыдущему, непроверенное, поведение ssl._create_unverified_context () может быть передано параметр контекста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...