Я пытаюсь очистить веб-сайт списков недвижимости, используя Python 3 и библиотеку запросов
url = 'https://www.mlslistings.com'
page = requests.get(url)
, и у меня возникает следующая ошибка:
SSLError: HTTPSConnectionPool(host='www.mlslistings.com', port=443): Max retries exceeded with url: /Search/Result/299ae029-54cd-404d-bf6c-edab2dc896cc/1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1045)')))
I 'Я могу решить проблему с помощью
url = 'https://www.mlslistings.com'
page = requests.get(url,verify=False)
Но я предупрежден, что
InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
Я перешел по ссылке и нашел их рекомендацию на pip install certifi
, а затем попытался
import certifi
import urllib3
http = urllib3.PoolManager(cert_reqs='CERT_REQUIRED', ca_certs=certifi.where())
http.request('GET', 'https://mlslistings.com')
Но при этом у меня возникает тот же SSLError, который описан выше.
Поэтому у меня есть два вопроса: 1. Почему добавление проверки сертификата «настоятельно рекомендуется»? И 2. Что я могу сделать, чтобы получитьмимо этого просто не сдаваясь и не используя verify=False
?