Charles Proxy

Charles Proxy — это HTTP-прокси, HTTP-монитор и обратный прокси-сервер, который позволяет разработчикам и тестировщикам перехватывать, просматривать и анализировать весь HTTP и SSL/HTTPS-трафик между клиентским приложением и сервером[1]. Инструмент применяется для глубокой отладки API, анализа производительности веб- и мобильных приложений, а также для имитации различных сетевых условий[2].

Общие сведения
Charles Proxy
Тип HTTP-прокси и инструмент для отладки сетевого трафика
Операционные системы Windows, macOS, Linux
Состояние Активно поддерживается
Лицензия Условно-бесплатное ПО (trialware)

Функции

Charles Proxy предоставляет широкий набор возможностей, позволяющих детально исследовать сетевое взаимодействие приложения:

  • Мониторинг и анализ трафика — отображение всех запросов и ответов с заголовками, телом, параметрами URL и файлами cookie, что упрощает диагностику проблем интеграции API[3].
  • Дешифрование SSL/HTTPS — генерация и установка корневого сертификата для перехвата и расшифровки защищённого трафика, включая вызовы сторонних SDK и обмен токенами[4].
  • Rewrite (перезапись) — автоматическое изменение заголовков, параметров URL или тела запросов и ответов без остановки передачи данных, что позволяет тестировать поведение приложения при различных сценариях[5].
  • Breakpoint (точки останова) — интерцепция запросов/ответов с возможностью ручного редактирования до их отправки или получения[6].
  • Throttling — эмуляция сетевых условий (2G, 3G, 4G, произвольная задержка и пропускная способность) для проверки устойчивости приложения к медленному или нестабильному соединению[7].
  • Map Local — замена ответов сервера локальными файлами, позволяющая разрабатывать интерфейс без обращения к бэкенду[8].
  • Map Remote — перенаправление запросов на другой хост или порт, что полезно при тестировании на различных средах[9].
  • Repeat — повторная отправка выбранного запроса для проверки идемпотентности или стабильности ответов API[10].
  • Пробная лицензия — бесплатный сеанс ограничен 30 минутами; для неограниченной работы требуется покупка лицензии[11].

Примеры использования

Charles Proxy применяется в различных сценариях веб- и мобильной разработки:

  • Валидация запросов при авторизации. Тестировщик проверяет, корректно ли API авторизации возвращает токен доступа, анализируя заголовки и тело ответа[12].
  • Негативное тестирование. С помощью брейкпоинтов ответ сервера изменяется с 200 OK на 500 Internal Server Error, что позволяет убедиться, что клиент корректно обрабатывает ошибку[13].
  • Имитация медленного соединения. Разработчик включает throttling (например, 3G) для оценки работы индикаторов загрузки и повторных попыток соединения в мобильном приложении[14].
  • Mock-данные для UI. С помощью Map Local ответы API заменяются локальными JSON-файлами, что позволяет фронтенд-команде верстать и тестировать экран «пустых состояний» без готового бэкенда[15].
  • Отладка сторонних SDK. Перехват и расшифровка HTTPS-вызовов аналитических или платёжных SDK помогает удостовериться, что отправляемые данные соответствуют требованиям конфиденциальности[16].
  • Тестирование Android-приложений. Через прокси-настройки устройства Charles перехватывает все HTTP-запросы, позволяя разработчику быстро повторно отправлять вызовы и видеть обновлённые ответы без перекомпиляции приложения[17].

Примечания

  1. Charles Proxy. QaRocks. Дата обращения: 20 июня 2025.
  2. Charles Proxy для тестировщиков. VC.ru. Дата обращения: 20 июня 2025.
  3. Charles Proxy: обзор возможностей. Habr. Дата обращения: 20 июня 2025.
  4. What is Charles Proxy and how to use it. Scrapfly. Дата обращения: 20 июня 2025.
  5. Перезапись трафика в Charles Proxy. Habr. Дата обращения: 20 июня 2025.
  6. Charles Proxy: возможности брейкпоинтов. Software-Testing.ru. Дата обращения: 20 июня 2025.
  7. What is Charles Proxy and how to use it. Scrapfly. Дата обращения: 20 июня 2025.
  8. Использование снифферов трафика в тестировании. Mediasoft Academy. Дата обращения: 20 июня 2025.
  9. Как использовать Charles Proxy. Trofimov Digital. Дата обращения: 20 июня 2025.
  10. Charles Proxy: возможности брейкпоинтов. Software-Testing.ru. Дата обращения: 20 июня 2025.
  11. Charles Proxy: обзор возможностей. Habr. Дата обращения: 20 июня 2025.
  12. Testing mobile apps with Charles Proxy. Дата обращения: 20 июня 2025.
  13. Charles Proxy: возможности брейкпоинтов. Software-Testing.ru. Дата обращения: 20 июня 2025.
  14. What is Charles Proxy and how to use it. Scrapfly. Дата обращения: 20 июня 2025.
  15. Использование снифферов трафика в тестировании. Mediasoft Academy. Дата обращения: 20 июня 2025.
  16. Debugging network traffic with Charles. Donny Wals. Дата обращения: 20 июня 2025.
  17. Test and debug Android apps with Charles Web Proxy. LogRocket. Дата обращения: 20 июня 2025.
© Правообладателем данного материала является АНО «Интернет-энциклопедия «РУВИКИ».
Использование данного материала на других сайтах возможно только с согласия АНО «Интернет-энциклопедия «РУВИКИ».