Как отслеживать сетевые запросы, сделанные приложением Python

1

Что может быть хорошим способом для мониторинга сетевых запросов, сделанных из приложения Python, так же, как это делает консоль браузера (обычно на вкладке "Сеть")?

В идеале это будет отображать такую информацию, как:

  • URL запрошен
  • заголовки
  • полезная нагрузка (если есть)
  • время отправки запроса
  • время получения ответа
  • заголовки ответа и полезная нагрузка
  • график

Это в основном для целей отладки, поскольку фактические запросы, которые я хочу отслеживать, выполняются сторонним импортом. Разумеется, абсолютной мечтой была бы богатая консоль, похожая на сетевые вкладки Chrome или Safari, но в режиме командной строки также могут быть некоторые "функциональные эквиваленты".

Обновление: использование macOS с root-доступом

  • 1
    tcpflow на соответствующем PID не обрезает его? Вы хотите что-то с веб-интерфейсом? Если это так, то добавьте свое собственное приложение-колбу, добавив в код request свое собственное закрытие, которое может следить за соответствующими данными и помещать их в таблицу, не должно быть слишком сложным.
  • 0
    Вам может понадобиться больше деталей, например, таких как ОС, сетевая библиотека, используемая этими сторонними библиотеками, поскольку общий подход может быть нежизнеспособным, если используется смесь библиотек (особенно если они используют собственные расширения библиотеки). Если ваши зависимости специфичны (например, requests ), вы, вероятно, можете внедрить / переопределить определенные хуки, чтобы понять, как они используются. Если вы работаете в Linux (или * nix), гораздо более общим решением является использование strace , а затем анализ выходных данных.
Показать ещё 1 комментарий
Теги:
python-3.x
request

1 ответ

0

Без подробностей об операционной системе, в которой вы ее используете, и о том, есть ли у вас root-доступ, трудно дать однозначный ответ.

Тем не менее, вам следует рассмотреть возможность использования Wireshark (https://www.wireshark.org), который дает вам довольно хорошее представление о том, какой именно трафик идет из вашего приложения в Интернет и наоборот.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню