我有包含 4 行的 fiddle.py
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 alert handshake failure (_ssl.c:590)
尝试 #1
设置verify=False
运行代码,同样的错误。
尝试#2
运行 sudo pip install --upgrade requests
运行代码,同样的错误。
尝试#3
运行
sudo pip install --upgrade pip
和
sudo pip install requests[安全]
运行代码,出现不同的错误。
requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'SSL23_GET_SERVER_HELLO', 'sslv3 alert handshake failure')],)",)
详情
- python 2.7.10
- OpenSSL 0.9.8zh 2016 年 1 月 14 日
- Mac OS X 10.11.6
我该如何调试?
最佳答案
您想使用 OpenSSL 1.0.2 和 python 2.7.12。您可能还需要最新的 curl。
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
关于python - 请求.exceptions.SSLError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40491612/