Requests/urllib3 Retry warning when downloading image
我正在使用以下代码按顺序下载一些图像,但收到了很多
1 2 3 4 5 6 7 | 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) |
这会导致警告
1 | 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 |
我该如何修复/抑制这些?在我的日志中出现大量重试警告是没有意义的。我已经检查了请求源代码,但我不想禁用所有警告:
1 2 | log.warning("Retrying (%r) after connection" "broken by '%r': %s", retries, err, url) |
原来我试图禁用错误的东西。我只是有待办事项
1 2 | import logging logging.getLogger('requests.packages.urllib3.connectionpool').setLevel(logging.CRITICAL) |
只需禁用 urllib3 警告:
1 2 | import urllib3 urllib3.disable_warnings() |
或者如 urllib3 文档所建议的那样,您可以使用
1 | logging.captureWarnings(True) |
你也可以在代码之外使用 PYTHONWARNINGS