Python 请求库中 [SSL: UNKNOWN_PROTOCOL] 的可能原因是什么?

Dan*_*yle 6 ssl python-2.7 python-requests

以下示例 GET:

r = requests.get(url, auth=(self.key, ''), verify=False)
Run Code Online (Sandbox Code Playgroud)

因以下回溯而失败:

File "/Library/Python/2.7/site-packages/requests/api.py", line 70, in get
return request('get', url, params=params, **kwargs)
File "/Library/Python/2.7/site-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 596, in send
r = adapter.send(request, **kwargs)

File "/Library/Python/2.7/site-packages/requests/adapters.py", line 497, in send
raise SSLError(e, request=request)

requests.exceptions.SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:590)
Run Code Online (Sandbox Code Playgroud)

运行 python 2.7.12

我可以确认这不是Python 请求的副本给出了 SSL 未知协议

Dan*_*yle 3

这个问题的解决办法竟然和requests库有关。

将以下内容添加到我的 python 库中解决了该问题:

pip install requests[security]

(请注意,这不是 TLS 未来安全的理想解决方案)