打开调试输出为Python 3的urllib
-
16-09-2019 - |
题
在蟒2,有可能通过执行获得从urllib的调试输出
import httplib
import urllib
httplib.HTTPConnection.debuglevel = 1
response = urllib.urlopen('http://example.com').read()
然而,在python 3它看起来像这样已被移动到
http.client.HTTPConnection.set_debuglevel(level)
然而,我使用的urllib不直接http.client。我该如何设定,让我的http请求显示这样的调试信息?
下面是一个使用至今。什么是前进,如果我希望能够得到调试信息的最佳方式是什么我“米?
#Request Login page
cookiejar = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookiejar))
request = urllib.request.Request(options.uri)
add_std_headers(request)
response = opener.open(request)
response_string = response.read().decode("utf8")
# ...
解决方案
您是在第一时间。你可以简单地在文件打开HTTP调试应用程序范围的开始添加一行http.client.HTTPConnection.debuglevel = 1
。 urllib.request
仍然使用http.client
。
似乎还有一个方法来设置一个处理程序DEBUGLEVEL(通过创建urllib.request.HTTPHandler(debuglevel=1)
和建设的首战与),但在我安装的Python3(3.0b3)它实际上没有实现。我想,在最近的版本改变了!
不隶属于 StackOverflow