Zxa*_*aos 16 python debugging http urllib python-3.x
在python 2中,可以通过执行从urllib获取调试输出
import httplib
import urllib
httplib.HTTPConnection.debuglevel = 1
response = urllib.urlopen('http://example.com').read()
Run Code Online (Sandbox Code Playgroud)
但是,在python 3中,它似乎已被移动到
http.client.HTTPConnection.set_debuglevel(level)
Run Code Online (Sandbox Code Playgroud)
但是,我直接使用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")
# ...
Run Code Online (Sandbox Code Playgroud)
PAG*_*PAG 17
你是第一次是对的.您只需http.client.HTTPConnection.debuglevel = 1在文件的开头添加该行即可打开应用程序范围内的HTTP调试.urllib.request还在使用http.client.
似乎还有一种方法可以为单个处理程序设置debuglevel(通过创建urllib.request.HTTPHandler(debuglevel=1)和构建一个开启器),但是在我安装的Python3(3.0b3)中,它实际上并没有实现.我想在最近的版本中已经改变了!
| 归档时间: |
|
| 查看次数: |
10694 次 |
| 最近记录: |