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

6
以下是一个GET请求的示例:
r = requests.get(url, auth=(self.key, ''), verify=False)

以下是出错的追踪信息:

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)

运行Python 2.7.12

我可以确认这不是Python requests gives SSL unknown protocol的重复问题。


我已将其标记为与处理相同主题的问题的重复。如果您觉得这个其他问题没有帮助到您,请提供该问题的URL,以便我们可以更仔细地查看并重现该问题。通常情况下,如果另一方不使用TLS回复,则会出现此错误,这可能有多种原因(设置混乱,防火墙等中间件,使用SSL 2.0的旧服务器...)。 - Steffen Ullrich
1个回答

3

这个问题的解决办法与Requests库有关。

在我的Python库中添加以下代码可以解决此问题:

pip install requests[security]

(请注意,这不是TLS未来安全性的理想解决办法)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接