带有python请求包的TLSV1_ALERT_PROTOCOL_VERSION

时间:2017-08-02 17:25:36

标签: python python-requests

我正在使用请求包

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上。其他网址没有显示此问题?

2 个答案:

答案 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)