ssl: CERTIFICATE_VERIFY_FAILED
-
Разберем ошибку
ssl: CERTIFICATE_VERIFY_FAILEDкоторая означает, что Python не может проверить HTTPS‑сертификат сервера (или у нас сломан/пустой trust store корневых сертификатов на компьютере).Такое бывает, и это одна из самых частых причин, почему скрипт работает на домашнем Wi-Fi и ломается в офисе или под корпоративным VPN.
Как это работает и почему - лучше прочитать корпоративные фаерволы отдельно, а вот как обойти это сейчас покажу и расскажу.И так допустим мы работаем в офисе и нам необходимо написать скрипт для обращения к внешнему API, возьмем для примера встроенные библиотеки:
json, ssl, urllib.requestДумаю объяснять что делает urllib и json не надо, а вот про ssl подробнее. Смотрите в следующем примере мы делаем простейший запрос по эндпоинту “https://catfact.ninja/fact” который возвращает один случайный факт о котах. Для того что бы избежать проверки ssl и пройти верификацию мы импортируем встроенную библиотеку
import sslи смотрите фокус, мы берем функциюcreate_unverified_context()записываем ее в переменную и передаем вторым аргументом вurllibвот так:response = urllib.request.urlopen(req, context=context).ВОУЛЯ! И все работает, запросы отправляются - ответы приходят. Берем на вооружение

# Встроенные либы import json import ssl import urllib.request url = "https://catfact.ninja/fact" def get_cat_fact(): req = urllib.request.Request( url, headers={ "User-Agent": "Mozilla/5.0", }, ) context = ssl._create_unverified_context() try: response = urllib.request.urlopen(req, context=context) result = json.loads(response.read()) print("Полный ответ:", result) print("Факт:", result["fact"]) except Exception as e: print("Ошибка:", e) get_cat_fact()
Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти© 2024 - 2026 ExLends, Inc. Все права защищены.