3

我愿意:

con = HTTPConnection(SERVER_NAME)
con.request('GET', PATH, HEADERS)
resp = con.getresponse()

出于调试原因,我想查看我使用的请求(它的字段、路径、方法……)。我希望会有某种con.getRequest()或某种东西,但没有找到任何东西。想法?

4

1 回答 1

3

尝试

con.setdebuglevel(1)

这将启用调试输出,除其他外,它将打印出它发送的所有数据。

如果您只想获取标头和请求行,而不是请求正文(或任何其他调试输出),则可以子类HTTPConnection化并覆盖该_output方法,该方法由类本身调用以产生输出(请求正文除外)。你想做这样的事情:

class MyHTTPConnection(HTTPConnection):
    def _output(self, s):
        print repr(s)
        super(MyHTTPConnection, self)._output(s)

有关其工作原理和可能替代方案的更多详细信息,请查看httplib源代码。

于 2010-06-24T09:06:33.523 回答