如何给 Python requests 模块开启 Debug 模式
除非你在用很老的 requests 0.x,这个方法都是通用的。
什么?9102 年了还有人在用 python2?
requests 方法的 config
参数已全部删除, 现在配置这些选项都在 Session
,比如 keep-alive
和最大数目的重定向。 日志详细程度选项应当由配置日志来处理。
以下是个例子。
import requests
import logging
# 启用调试于 http.client 级别 (requests->urllib3->http.client)
# 你将能看到 REQUEST,包括 HEADERS 和 DATA,以及包含 HEADERS 但不包含 DATA 的 RESPONSE。
# 唯一缺少的是 response.body,它不会被 log 记录。
try:
from http.client import HTTPConnection
except ImportError:
from httplib import HTTPConnection
HTTPConnection.debuglevel = 1
logging.basicConfig() # 初始化 logging,否则不会看到任何 requests 的输出。
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
requests.get('http://httpbin.org/headers')
这样就可以看到 Debug log 了。
重建 于 2019/9/23