https://segmentfault.com/q/1010000000517234
2018-07-24 14:14:46,891 - oracle - ERROR - data format error:HTTPConnectionPool(host='10.193.135.102', port=9082):
Max retries exceeded with url: /collection/agent (Caused by NewConnectionError
('<requests.packages.urllib3.connection.HTTPConnection object at 0x02672AD0>: Failed to establish a new connection: [Errno 10053] ',)),item:
多方查閱后發現了解決問題的原因:http連接太多沒有關閉導致的。
解決辦法:
1、增加重試連接次數
requests.adapters.DEFAULT_RETRIES = 5
2、關閉多余的連接
requests使用了urllib3庫,默認的http connection是keep-alive的,requests設置False關閉。
操作方法
s = requests.session()
s.keep_alive = False
方法二:
是因為在每次數據傳輸前客戶端要和服務器建立TCP連接,為節省傳輸消耗,默認為keep-alive,即連接一次,傳輸多次,然而在多次訪問后不能結束並回到連接池中,導致不能產生新的連接
headers中的Connection默認為keep-alive,
將header中的Connection一項置為close
headers中的Connection默認為keep-alive,
將header中的Connection一項置為close
headers = {
'Connection': 'close',
}
r = requests.get(url, headers=headers)
r = requests.get(url, headers=headers)