Регистрируйте все запросы из модуля python-requests



Я использую python запросы. Мне нужно отладить некоторые OAuth активность, и для этого я хотел бы, чтобы журнал все заявки выполняются. Я мог бы получить эту информацию с ngrep, но, к сожалению, это не возможно для grep https соединений (которые необходимы для OAuth)



как я могу активировать регистрацию всех URL-адресов (+параметры), которые Requests доступ?

607   4  

4 ответов:

базовый urllib3 библиотека регистрирует все новые соединения и URL-адреса с помощью logging модуль, но не POST органы. Ибо GET запросы этого должно быть достаточно:

import logging

logging.basicConfig(level=logging.DEBUG)

что дает вам самый подробный вариант ведения журнала; см. ведение журнала HOWTO для получения более подробной информации о том, как настроить уровень логирования и направлений.

короткое демо:

>>> import requests
>>> import logging
>>> logging.basicConfig(level=logging.DEBUG)
>>> r = requests.get('http://httpbin.org/get?foo=bar&baz=python')
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): httpbin.org
DEBUG:requests.packages.urllib3.connectionpool:"GET /get?foo=bar&baz=python HTTP/1.1" 200 353

следующие сообщения зарегистрирован:

  • INFO: новые соединения (HTTP или HTTPS)
  • INFO: Dropped connections
  • INFO: перенаправляет
  • WARN: полный пул соединений (если это происходит часто увеличить размер пула соединений)
  • WARN: повторная попытка подключения
  • DEBUG: сведения о соединении: метод, путь, версия HTTP, код состояния и длина ответа

вы должны включить отладку в

для тех, кто использует python 3+

import requests
import logging
import http.client

http.client.HTTPConnection.debuglevel = 1

logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True

Я использую python 3.4, запросы 2.19.1:

'urllib3' - это регистратор, который нужно получить сейчас (больше не ' запросы.пакеты.urllib3'). Основное ведение журнала по-прежнему будет происходить без установки http.клиент.HTTPConnection.debuglevel

Comments

    Ничего не найдено.