Python 3.x urllib3调试请求头

Python 3.x urllib3调试请求头,python-3.x,urllib3,Python 3.x,Urllib3,我正在使用urllib3,我希望看到发送的头 我在文档中发现了这一点,但它不打印标题: urllib3.add_stderr_logger(1) 有什么方法可以做到这一点吗?现在,实现真正详细的日志记录(包括urllib3中发送的头)的最佳方法是覆盖httplib中的默认值(内部使用) 对于Python 3: # You'll need to do this before urllib3 creates any http connection objects import http.clien

我正在使用urllib3,我希望看到发送的头

我在文档中发现了这一点,但它不打印标题:

urllib3.add_stderr_logger(1)

有什么方法可以做到这一点吗?

现在,实现真正详细的日志记录(包括urllib3中发送的头)的最佳方法是覆盖httplib中的默认值(内部使用)

对于Python 3:

# You'll need to do this before urllib3 creates any http connection objects
import http.client
http.client.HTTPConnection.debuglevel = 5

# Now you can use urllib3 as normal
import urllib3
http = urllib3.PoolManager()
r = http.request('GET', ...)
在Python 2中,
HTTPConnection
对象位于
httplib
模块下

这将为使用httplib的任何内容打开详细日志记录。请注意,这并不是使用httplib的有文档记录的API,而是对HTTPConnection类的默认值进行修补


我们的目标是为这类事情添加更好的urllib3本机日志记录,但它尚未实现。相关问题:

这在Python 2.7中起作用。在Python3.x中,您需要执行
importHTTP;http.client.HTTPConnection.debuglevel=5
@DanLenski我正试图让您的解决方案使用日志文件,但它仅适用于
stdout
。详情如下: