requests.exceptions.SSLError: HTTPSConnectionPool(host=‘‘, port=443): Max retries exceeded with url:
(Caused by SSLError(SSLError("bad handshake: SysCallError(-1, ‘Unexpected EOF‘)",),))
上面是python3.6中的错误,解决方法一致,都是请求频繁而造成的。
这里提供一种解决方法,可能适用有可能不适用,仅供参考。
while True: # 循环
try:
# r = eval(expression)
content = requests.get(url,headers = heads, timeout = (3,20)).content
except (requests.exceptions.SSLError, requests.exceptions.ConnectionError) as e:
if 'bad handshake' in str(e) or '10054' in str(e): # 上述2种异常
continue # 继续发请求
else:
raise Exception(e) # 其他异常,抛出来
break # 无异常就跳出循环
其中try里面是你要发送的请求代码,根据自己的情况来定。