python-запрос с OpenSSL на macOS Sierra

Привет всем
Я столкнулся с проблемой, когда попытался использовать пакет запросов python, вы можете найти ошибку следующим образом:

Файл "/Library/Python/2.7/site-packages/requests/adapters.py", строка 512, при отправке
вызывать SSLError (e, request = request)
requests.exceptions.SSLError: [SSL : SSLV3_ALERT_HANDSHAKE_FAILURE] Ошибка подтверждения подтверждения sslv3 (_ssl.c: 590)

Затем я обновил библиотеку openssl до последней версии с помощью brew в терминале.

>brew update
>brew install openssl

Однако при связывании последней версии openssl с

>brew link openssl -force

возникла ошибка из macOS:

Предупреждение: отказ от ссылки: openssl Связывание openssl только для keg означает, что вы можете в конечном итоге связать с небезопасной устаревшей системой OpenSSL при использовании заголовков из openssl Homebrew.
Вместо этого передайте полные пути include / library вашему компилятору, например :
-I / usr / local / opt / openssl / include -L / usr / local / opt / openssl / lib

Я не уверен, что делать в этом случае, и практически нет никакого практического решения, кроме получения root-доступа, которого я просто хочу избежать.
Кто-нибудь может мне подсказать? Я очень ценю это.

Кстати, моя версия macOS - Sierra 10.12.3.
На моем Mac не установлена ​​ms dotnet. Пожалуйста, не обращайтесь к соответствующему ответу.


person Michael WANG    schedule 25.05.2017    source источник
comment
К какому URL вы пытаетесь получить доступ. Если это ваш внутренний сервер, которым вы управляете, убедитесь, что сертификаты ssl на сервере действительны и правильно построены.   -  person xrage    schedule 25.05.2017
comment
@xrage Нет, я пытался получить доступ к общедоступному URL-адресу на внешнем веб-сайте. Я не думаю, что это проблема с ssl-сертификатами.   -  person Michael WANG    schedule 25.05.2017
comment
Если вы можете поделиться этим URL-адресом или аналогичным URL-адресом, где у вас возникла эта проблема. Тогда это пригодится при отладке.   -  person xrage    schedule 25.05.2017


Ответы (1)


У меня сработало обновление pyOpenSSL.

sudo pip install --upgrade pyOpenSSL 

Если вам будет предложено следующее предупреждение:

Cannot uninstall 'pyOpenSSL'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

Вы можете сделать ff:

sudo pip install --upgrade pyOpenSSL --ignore-installed pyOpenSSL
person hobbit    schedule 25.05.2018