Python httplib: получение заголовков исходящих запросов - PullRequest
3 голосов
/ 24 июня 2010

Я делаю:

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

По причинам отладки я хочу увидеть запрос, который я использовал (это поля, путь, метод, ..).Я ожидал, что там будет что-то вроде con.getRequest() или что-то в этом роде, но ничего не нашел.Идеи?

1 Ответ

3 голосов
/ 24 июня 2010

Попробуйте

con.setdebuglevel(1)

Это включит отладочный вывод, который, помимо прочего, распечатает все данные, которые он отправляет.

Если вы хотите получить только заголовки и строку запроса, а не тело запроса (или любой другой результат отладки), вы можете создать подкласс HTTPConnection и переопределить метод _output, который вызывается самим классом для создания вывод (кроме тела запроса). Вы хотели бы сделать что-то вроде этого:

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

Для получения более подробной информации о том, как это работает и возможные альтернативы, взгляните на исходный код httplib.

...