#python-3.x #ssl #certificate #discord #discord.py
#python-3.x #ssl #сертификат #Discord #discord.py
Вопрос:
Я создаю discord-бота с использованием python. Когда я пытаюсь запустить его для подключения моего клиента к discord, я получаю эту ошибку:
вызовите ClientConnectorCertificateError( aiohttp.client_exceptions.client_exceptions.ClientConnectorCertificateError: не удается подключиться к хосту discord.com: 443 ssl: True [SSLCertVerificationError: (1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] ошибка проверки сертификата: срок действия сертификата истек (_ssl.c:****)’)]
Происходит каждый раз, когда я пытаюсь его запустить.
Я увидел правдоподобное исправление для этого, которое было:
- Перейдите к discord.com с помощью Internet Explorer (запускался от имени администратора)
- Нажмите на блокировку в правом верхнем углу
- Нажмите просмотреть сертификаты
- Установите один
Однако, когда я попробовал это, а затем попытался снова запустить своего бота, я все еще получал ту же ошибку.
Не знаю, имеет ли это значение, но в начале сообщения об ошибке в разделе трассировки говорится, что первый вызов, вызвавший ошибку, находится в последней строке кода моего бота, который является client.run(ТОКЕН).
Я использую Python 3.8 в Windows 10.
Ответ №1:
TL; DR Срок действия вашего сертификата истек, и вам необходимо загрузить и установить новый на свой локальный компьютер, загрузив его с веб-сайта и установив в свою ОС.
Это решение выполняется с помощью Google Chrome и Windows 10.
- Перейдите на веб-сайт, который вы пытаетесь запросить
- Щелкните значок блокировки слева от поля ввода URL
- Если указано, что сертификат (действительный), вы в бизнесе. Нажмите, чтобы
- В появившемся окне перейдите на вкладку Сведения
- Нажмите кнопку Скопировать в файл…
- В мастере экспорта сертификата выберите Стандарт синтаксиса криптографического сообщения (.P7B)
- Установите флажок под ним, включите все сертификаты в путь к сертификату, если это возможно
- Нажмите «Далее», нажмите «Обзор» и выберите папку, создайте имя для файла и нажмите «Сохранить».
- Далее завершите
- Откройте файл, который вы только что экспортировали. Если вы используете Windows, откроется диспетчер сертификатов
- Перейдите глубже в папки, чтобы найти фактические сертификаты
- Один за другим дважды щелкните каждый сертификат и выберите Установить сертификат для текущего пользователя и автоматически выберите, куда он отправляется
После установки всех сертификатов, необходимых для проверки запроса HTTPS, ваш скрипт больше не должен сталкиваться с ошибкой certificate expired, пока не истечет срок действия новых сертификатов.
Вы также можете проверить, когда истекает срок действия каждого сертификата в certmgr.
Ответ №2:
Загрузите и установите этот сертификат.
Его можно установить, дважды щелкнув файл и установив его на локальный компьютер, по ссылке для загрузки:
Комментарии:
1. Все хорошо, я нашел свою проблему. Оказывается, у меня даже нет ssl на моем компьютере, поэтому я переместил все на свой сервер Linux, на котором есть ssl, и все работало просто отлично. Тем не менее, спасибо!