Python:SSLError,糟糕的握手,意外的EOF

Python: SSLError, bad handshake, Unexpected EOF

我有使用Python请求连接到特定站点的问题,并收到此错误:

HTTPSConnectionPool(host='XXXXXXXXX', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError("bad handshake: SysCallError(-1, 'Unexpected EOF')",),))

我该如何解决这个问题? (设置verify = False没有区别)我怀疑服务器谁在这里有错,因为当我运行他们的测试时它得到了F @ ssllabs的整体评级

我对Python和请求相当新

我的代码:

1
2
3
4
5
6
7
import requests
try:
    site = requests.get('https://XXXXXXXXXX', verify=True)
    print(site)
except requests.exceptions.RequestException as e:
    print(e)
    pass


面对同样的错误,我做了pip install ndg-httpsclient后麻烦消失了。 yum install python-ndg_httpsclientapt-get install python-ndg-httpsclient(或apt-get install python3-ndg-httpsclient)可能也有效。


如在其他问题https://stackoverflow.com/a/36499718/1657819中提到的,如果您在代理服务器下可能会发生此错误,因此禁用代理可能会有所帮助

1
unset https_proxy