2016-07-22 3 views
2

Я не могу запросить популярный сайт SSL без получения ошибки [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed.request.exceptions.SSLError: подтверждение SSL: CERTIFICATE_VERIFY_FAILED] не удалось

Просьбы documentation заявляет, что

By default Requests bundles a set of root CAs that it trusts, sourced from the Mozilla trust store. However, these are only updated once for each Requests version. This means that if you pin a Requests version your certificates can become extremely out of date.

Как это популярный сайт он должен быть в магазине, когда я использую verify=True, однако он держит неудачу. Я также пробовал с другими адресами SSL, и он также терпит неудачу с этой ошибкой.

import requests 

headers = { 
    'User-agent': 'Mozilla/5.0' 
} 

proxies = { 
    'http' : 'http://1.2.3.4:80', 
    'https' : 'http://1.2.3.4:443' 
} 

r = requests.get('https://www.example.com', proxies=proxies, verify=True) 

Обратите внимание, что https://www.example.com является популярным сайтом новостей Великобритании, поэтому он должен быть в магазине CA.

Python Версия: Python 2.7.11

просит Версия: запросы (2.10.0)

ОС: Windows 8

Могу ли я сделать что-то в корне неправильно?

+1

Возможно, ваш прокси-сервер выполняет перехват SSL. Возможно также, что установка сайта вызывает проблемы. Возможно также, что вы используете очень старую версию запросов со старым хранилищем сертификатов. К сожалению, невозможно сообщить с информацией, которую вы предоставляете, что пошло не так, потому что, по сути, вы говорите только о том, что используете неизвестную версию запросов с неизвестным прокси-сервером, обращающимся к неизвестному сайту. Кроме того, необычно, что у вас разные настройки прокси для http и https, а прокси-сервер https работает на порту 443 и т. Д. –

+0

Я добавил в версии последнюю версию. Возможно, прокси-сервер делает перехват, как вы упомянули. –

+1

Я решил, что это должен быть прокси-сервер, который использует проверку SSL. –

ответ

0
r = requests.get('https://www.example.com', proxies=proxies, verify=False) 

Изменить эту линию, и она будет работать.

+0

Действительно, это сработает, однако я хочу знать, почему он не проверяет. –

Смежные вопросы