Python 版本:3.5.2
操作系统:OS X 10.12
OpenSSL 版本:OpenSSL 1.1.0b 2016 年 9 月 26 日
我正在尝试请求“ https://alpha.wallhaven.cc ”。
import urllib.request
init_page=urllib.request.urlopen("https://alpha.wallhaven.cc")
Run Code Online (Sandbox Code Playgroud)
然后得到
ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:645)
Run Code Online (Sandbox Code Playgroud)
和
During handling of the above exception, another exception occurred:
...
urllib.error.URLError: <urlopen error [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:645)>
Run Code Online (Sandbox Code Playgroud)
以下解决方案不起作用:
import requests.packages.urllib3.util.ssl_
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS='ALL'
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
import requests
print(requests.get("https://alpha.wallhaven.cc",verify=False))
Run Code Online (Sandbox Code Playgroud)
或更改 /APNSWrapper/connection.py 第 131 行:
ssl_version = self.ssl_module.PROTOCOL_SSLv3,
Run Code Online (Sandbox Code Playgroud)
进入
ssl_version = self.ssl_module.PROTOCOL_TLSv1,
Run Code Online (Sandbox Code Playgroud)
那么问题是什么?如何解决?非常感谢!