Я использую скрипт Python уже более года без проблем.Несколько дней назад мой компьютер был перезагружен.Теперь в Python 3.x возникают проблемы с urllib3 и SSL-сертификатами из командной строки cmd
Эта трассировка не происходит в ноутбуке jupyter: сценарий там работает идеально, и не происходит, когда выполняется очистка URL-адресов с http вместоhttps.
Эти вопросы очень чужды мне.Сначала я проверяю SSL-сертификаты Python
In [1]: import ssl
In [2]: print(ssl.OPENSSL_VERSION)
OpenSSL 1.1.0j 20 Nov 2018
Затем я безуспешно пытался ответить из другого потока .
import warnings
from urllib3.exceptions import InsecureRequestWarning
warnings.simplefilter('ignore',InsecureRequestWarning)
Аналогичная проблема обнаружена в другом тема , но ответы относятся к Mac.Я использую Windows 10.
Наконец, я попытался запустить код в Jupyter Notebook, и он работает как чудо.Нет следов.Существует трассировка только запуска Python из командной строки.
import urllib3
from bs4 import BeautifulSoup
hdr = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'}
url = https://whatever
response = http.request('GET', url, headers=hdr)
site = response.data
Трассировки:
Traceback (most recent call last):
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.website.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)')))