python httplib:获取出站请求头部
我做了:
con = HTTPConnection(SERVER_NAME)
con.request('GET', PATH, HEADERS)
resp = con.getresponse()
为了调试,我想查看我使用的请求(包括它的字段、路径、方法等等)。我本以为会有类似 con.getRequest()
这样的东西,但我没有找到。有什么想法吗?
1 个回答
3
试试这个
con.setdebuglevel(1)
这会开启调试输出,除了其他功能外,它会打印出所有发送的数据。
如果你只想获取请求的头信息和请求行,而不想要请求体(或者其他调试输出),你可以创建一个新的类,继承自 HTTPConnection
,并重写 _output
方法。这个方法是类自己用来生成输出的(除了请求体)。你可以这样做:
class MyHTTPConnection(HTTPConnection):
def _output(self, s):
print repr(s)
super(MyHTTPConnection, self)._output(s)
想了解更多关于这个方法的细节和其他可能的替代方案,可以查看 httplib
的源代码。