2016-06-28 63 views
1

我正在使用以下代碼按順序下載一些圖像,但得到很多WARNING: Retrying消息。值得注意的是每次都會導致這個變化的圖像url,有時候從來沒有發生過。請求/ urllib3下載圖像時重試警告

session = requests.Session() 
session.keep_alive = False 
adapter = requests.adapters.HTTPAdapter(pool_connections=100, pool_maxsize=100, max_retries=3) 
session.mount("http://", adapter) 
session.mount("https://", adapter) 

response = session.get(image_url, headers=headers, allow_redirects=True, timeout=20) 

,這將導致警告

2016-06-28 07:16:47 [requests.packages.urllib3.connectionpool] WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'ReadTimeoutError("HTTPConnectionPool(host='s-media-cache-ak0.pinimg.com', port=80): Read timed out. (read timeout=20)",)': /564x/4d/75/78/4d7578cf80d146b9d2b597f8678c7b31.jpg 

如何修復/抑制這些?在我的日誌中有很多重試警告是沒有意義的。我已經簽出請求的源代碼,但我不希望被禁止所有的警告:

log.warning("Retrying (%r) after connection " 
      "broken by '%r': %s", retries, err, url) 

回答

0

原來我試圖禁用錯誤的東西。我剛剛有待辦事項

import logging 
logging.getLogger('requests.packages.urllib3.connectionpool').setLevel(logging.CRITICAL) 
0

只需禁用urllib3警告:

import urllib3 
urllib3.disable_warnings() 

或者作爲urllib3 docs建議你可以捕捉與logging模塊警告:

logging.captureWarnings(True) 

你也可以做到這一點與碼外