2016-06-28 20 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) 

你也可以做到这一点与码外