我正在使用请求包
url = 'https://jobregister.aas.org'
page = requests.get(url)
但这会导致以下错误
requests.exceptions.ConnectionError:
HTTPSConnectionPool(host=url, port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, u'[SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)'),))
有人知道造成这种情况的原因吗?
编辑: 我注意到这个错误只发生在上面的url上。其他网址没有显示此问题?
答案 0 :(得分:0)
我认为您的问题是“/”不希望通过 TLS v1.0 与请求建立通信。
几天前,当我在本地计算机上使用 Python2.7.10 和 OpenSSL 1.0.2l 时,我遇到了相同的异常。通过升级到 Python2.7.13 解决了此问题。我没有深入调查请求引发此异常的原因是什么。
答案 1 :(得分:0)
就我而言,服务器仅配置了 tls1.1。解决方案是使用 SSLAdapter。
import requests, ssl
from requests_toolbelt import SSLAdapter
with requests.Session() as _sess:
_sess.mount("https://", SSLAdapter(ssl.PROTOCOL_TLSv1_1))
res = _sess.post(url_endpoint, **kwargs)