Просмотр API‑запросов Android через DevTools и Postman
Узнайте, как подключить Android‑приложение к Chrome DevTools для отладки WebView, а также как экспортировать запросы в HAR и импортировать их в Postman.
Как в мобильном приложении просматривать API‑запросы так же, как в DevTools веб‑браузера?
Ну, я обычно открываю Google Chrome DevTools, выбираю вкладку Network → Fetch/XHR, чтобы увидеть запросы к серверу и ответы. На вкладке Socket можно изучать WebSocket‑чат и т.д.
Вопрос 1: Как можно наблюдать сетевые запросы Android‑приложения, используя DevTools или аналогичные инструменты?
Вопрос 2: Как можно сделать то же самое с помощью Postman?
Краткий ответ
Для просмотра API‑запросов из Android‑приложения можно подключить его к Chrome DevTools через режим удалённой отладки WebView, либо использовать инструменты перехвата трафика, такие как Charles, Mitmproxy, tcpdump. Чтобы «сделать то же самое» в Postman, экспортируйте HAR‑файл из DevTools, либо запустите приложение через локальный прокси и импортируйте запросы, либо воспользуйтесь Postman Interceptor для перехвата запросов в реальном времени.
Содержание
- 1. Удалённая отладка через Chrome DevTools
- 2. Альтернативные инструменты перехвата трафика
- 3. Перехват и импорт запросов в Postman
- Заключение
- Источники
1. Удалённая отладка через Chrome DevTools
1.1 Как включить WebView‑отладку
- В Android‑коде активируйте отладку:java
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); } - Подключите устройство к компьютеру через USB и включите USB‑debugging в настройках разработчика.
1.2 Подключение к DevTools
- Откройте в браузере
chrome://inspect. - В разделе Remote Target должно появиться ваше устройство и открытые WebView.
- Нажмите inspect рядом с нужным WebView. Откроется DevTools, как в обычном браузере.
Эта возможность поддерживается начиная с Android 4.4 KitKat, но рекомендуется использовать последние версии Chrome и Android для лучшей совместимости.
1.3 Использование вкладки Network
- Перейдите во вкладку Network → Fetch/XHR.
- Здесь видите все запросы, их заголовки, тело ответа и статус.
- Можно отфильтровать по WS (WebSocket) в разделе Socket.
Убедитесь, что в настройках DevTools включён Preserve log, если нужна история между перезагрузками WebView.
2. Альтернативные инструменты перехвата трафика
| Инструмент | Как работает | Преимущества | Ограничения |
|---|---|---|---|
| Charles Proxy | Прокси‑сервер, перехватывающий HTTPS после установки сертификата | Интуитивный UI, поддержка SSL‑intercept, экспорт HAR | Требует установки сертификата на устройство |
| Mitmproxy | Текстовый/GUI‑профайлер, открытый исходный код | Потоковый захват, скрипты для фильтрации | Нужно вручную настроить прокси‑сервер |
| tcpdump / Wireshark | Сниффер пакетов на уровне сетевого стека | Глубокий анализ, поддержка всех протоколов | Нет декодирования HTTPS без ключей |
| Android Studio Profiler | Встроенный profiler в IDE | Синхронный просмотр HTTP, WebSocket, CPU, память | Работает только при подключении к IDE |
Как использовать Charles/mitmproxy
- Запустите прокси и настройте Android‑устройство на использование этого прокси в настройках Wi‑Fi.
- Установите сертификат (для HTTPS).
- Запустите приложение, а в Charles/mitmproxy увидите все запросы.
- Можно экспортировать HAR и импортировать в Postman.
См. руководство по настройке Charles для Android: https://www.charlesproxy.com/documentation/using-charles/setting-up-charles-for-android/
3. Перехват и импорт запросов в Postman
3.1 Экспорт HAR из DevTools
- В DevTools откройте Network → Export HAR (или правой кнопкой → Save all as HAR).
- Откройте Postman → Import → Upload Files → выберите HAR.
- Postman создаст коллекцию запросов, которые можно редактировать и повторно отправлять.
Данный метод работает для любого веб‑контента, включая WebView.
3.2 Использование Postman Interceptor
- Установите расширение Postman Interceptor в Chrome.
- В Android‑приложении включите WebView.setWebContentsDebuggingEnabled(true) и откройте DevTools.
- В Interceptor включите «Capture requests». Все запросы из Chrome (включая WebView) будут попадать в Postman в реальном времени.
Подробности: https://learning.postman.com/docs/sending-requests/interceptor/
3.3 Запуск приложения через локальный прокси
- Настройте mitmproxy или Charles как локальный прокси (например, 127.0.0.1:8080).
- В Android‑устройстве в Wi‑Fi‑сети укажите прокси‑сервер.
- Запустите приложение.
- В Postman создайте New > Request и в настройках Proxy укажите тот же адрес/порт. Запросы будут проходить через Postman.
Это удобно, если хотите сразу отправлять запросы из Postman без экспорта.
Заключение
- Для простого просмотра запросов из Android‑приложения, особенно WebView, используйте Remote Debugging через Chrome DevTools – это самый быстрый способ, не требующий дополнительных настроек сети.
- Если нужны более глубокие сетевые анализы или работа с внешними API, применяйте Charles Proxy, Mitmproxy или tcpdump; они позволяют видеть весь трафик, включая HTTPS, и экспортировать данные в HAR.
- Для интеграции с Postman удобно экспортировать HAR из DevTools или использовать Postman Interceptor/локальный прокси, чтобы мгновенно импортировать запросы и работать с ними как с коллекцией.
Выберите подходящий инструмент в зависимости от того, насколько глубокий анализ требуется, и от инфраструктуры вашего проекта.
Источники
- Чем полезен DevTools тестировщику
- Как отследить http запросы отправляемые приложениями (android)?
- Удаленная отладка Android-устройств | Chrome DevTools
- Удаленная отладка WebViews | Chrome DevTools
- Postman Interceptor Documentation
- Charles Proxy – Настройка для Android
- Mitmproxy – Documentation
- Android Studio Profiler – Network Monitoring