python3 用request模块发送http请求时候偶尔会出现下面报错,但是等几个小时候又能正常了。
requests.exceptions.ConnectionError: HTTPConnectionPool(host='xxxxxxxxxx.com', port=80): Max retries exceeded with url: /xxx/xxx.aspx (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000029115F1CB70>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。',))
解决方案
#一,header里面添加字段Connection,值为close
headers = {'Connection':'close'}
#二
s = requests.session()
s.keep_alive = False
原因分析:
可能是因为http连接太多没有关闭导致的,虽然我设置了每次请求time.sleep(1),但是
默认Connection的值是keep-alived的,有可能出现请求数量太多导致拒绝新连接。
方案一尝试了可以解决。方案二暂时没有尝试
网友评论