Ответ
Да, настраивал. Настройка Charles на iOS схожа с Android, но имеет особенности из-за строгой политики безопасности Apple.
Пошаговая настройка:
-
Настройка Charles на ПК:
- Запустите Charles и определите IP-адрес ПК (
Help → Local IP Address).
- Запустите Charles и определите IP-адрес ПК (
-
Настройка iOS-устройства:
- Подключите устройство к той же Wi-Fi сети.
- Перейдите в
Настройки → Wi-Fi→ нажмите наiрядом с активной сетью. - Прокси: Вручную.
- Сервер: IP-адрес ПК.
- Порт:
8888.
-
Установка SSL-сертификата (обязательно для HTTPS):
- На устройстве откройте Safari и перейдите по адресу
chls.pro/ssl. - Нажмите Разрешить для загрузки профиля конфигурации.
- Перейдите в
Настройки → Основные → Профили VPN и управление устройством. - Найдите профиль Charles Proxy и нажмите Установить.
- Ключевой шаг для iOS 10+:
- Перейдите в
Настройки → Основные → Об этом устройстве → Сертификаты доверия. - Включите доверие к корневому сертификату Charles.
- Перейдите в
- На устройстве откройте Safari и перейдите по адресу
-
Настройка SSL Proxying в Charles:
Proxy → SSL Proxying Settings → Enable SSL Proxying.- Добавьте правило: Хост
*, Порт443.
Пример перехваченного запроса:
GET /api/products?category=books HTTP/1.1
Host: shop.example.com
Accept: application/json
User-Agent: ExampleApp/1.0 (iPhone; iOS 17.4; Scale/3.0)
Особенности iOS:
- ATS (App Transport Security): Начиная с iOS 9, приложения по умолчанию требуют HTTPS. Charles позволяет обойти это для отладки.
- Сертификаты с доверием: Без включения доверия в системных настройках HTTPS-трафик не будет перехватываться.
- Приложения из App Store: Могут использовать certificate pinning, что блокирует перехват трафика.
Практическое применение:
- Тестирование API-интеграций мобильного приложения.
- Эмуляция различных сетевых условий (медленная сеть, таймауты).
- Проверка корректности отправляемых и получаемых данных.
После тестов: Обязательно отключите прокси в настройках Wi-Fi и удалите сертификат (Настройки → Основные → Управление профилями).