Клиент (Мобильный), как перехватывать и изменять HTTP-ответ
Я разработчик Android, мое приложение использует кучу HTTP-вызовов REST и получает ответы от серверов. Я использую Charles для проверки данных (поэтому я должен установить сертификат Charles на свое устройство, чтобы https-трафик мог быть прочитан мной).
Существуют ли какие-либо инструменты, такие как Чарльз, которые позволят мне модифицировать этот пакет ответов перед отправкой клиенту?
Ответы
Ответ 1
Сам Чарльз имеет свои функциональные возможности. Выполните следующие шаги:
- включить точки останова, щелкнув правой кнопкой мыши по отдельному запросу или пути
![enter image description here]()
- Перед отправкой запроса Чарльз даст вам возможность изменить его. Смотри ниже. Нажмите "Изменить запрос", чтобы заполнить все, что захотите, и нажмите "выполнить", чтобы отправить запрос.
![enter image description here]()
- Прежде чем отправлять результат на свой мобильный телефон, у вас есть изменение для редактирования содержимого. Смотри ниже.
![enter image description here]()
Ответ 2
В зависимости от того, что именно вы хотите изменить, встроенный Charles 'Rewrite Tool может быть тем, что вы ищете, Вы найдете его в меню "Инструменты". Вы можете указать, какие запросы должны быть изменены протоколом, хостом, портом, путем и запросом, и у вас есть следующие варианты модификации:
- Добавить, изменить, удалить заголовки (запрос и ответ)
- Изменить хост, путь, URL, статус ответа
- Добавить, изменить, удалить параметры запроса
- Изменить тело (запрос и ответ)
Другим вариантом является Fiddler. Как и Чарльз, это может быть настроено как прокси для android, дешифровать трафик HTTPS и изменить запрос и ответ.
Ответ 3
Вы можете попробовать OWASP ZAP или Burp Suite. OWASP ZAP полностью свободен и предоставляет ряд функций.