requests.exceptions.SSLError

时间:2016-11-08 16:12:37

标签: python macos python-requests pyopenssl

fiddle.py包含4行

import requests

url = "https://randomuser.me/api/"
locations = requests.get(url,verify=False).json()

print locations

当我跑步时,我一直在

  

requests.exceptions.SSLError:[SSL:SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3警报握手失败(_ssl.c:590)

尝试#1

设置verify=False

运行代码,相同错误。

尝试#2

运行sudo pip install --upgrade requests

运行代码,相同错误。

尝试#3

运行

sudo pip install --upgrade pip

sudo pip install requests[security]

运行代码,Diff Error。

  

requests.exceptions.SSLError :(“握手不好:错误([('SSL例程','SSL23_GET_SERVER_HELLO','sslv3警报握手失败')],)”,)

详细

Python 2.7.10
OpenSSL 0.9.8zh 14 Jan 2016
Mac OS X 10.11.6

问题

如何进行调试?

我现在正在接受任何建议。

任何提示/建议/帮助都将非常感谢!

2 个答案:

答案 0 :(得分:2)

你想要使用OpenSSL 1.0.2和python 2.7.12。你可能也想要最新的卷曲。

brew update
brew upgrade openssl
brew upgrade curl
brew upgrade python

python --version # make sure you have python 2.7.12
curl https://randomuser.me/api/ # to verify

答案 1 :(得分:0)

我将确保它们在https的端口443上运行,并且在Linux上您可以使用dig +short example.com时,如果您在Linux托管网站上遇到了同一问题,则不会重定向,如果该命令是google托管的网站,您应该会得到类似于ghs.googlehosted.com的输出或重定向的url,在这种情况下,我认为google托管的网站将由于Web应用程序防火墙而重定向。当我尝试访问从requests.get(domain)收到错误消息的网址时,我被重定向到登录门户