Клиент (Мобильный), как перехватывать и изменять HTTP-ответ

Я разработчик Android, мое приложение использует кучу HTTP-вызовов REST и получает ответы от серверов. Я использую Charles для проверки данных (поэтому я должен установить сертификат Charles на свое устройство, чтобы https-трафик мог быть прочитан мной).

Существуют ли какие-либо инструменты, такие как Чарльз, которые позволят мне модифицировать этот пакет ответов перед отправкой клиенту?

Ответы

Ответ 1

Сам Чарльз имеет свои функциональные возможности. Выполните следующие шаги:

  • включить точки останова, щелкнув правой кнопкой мыши по отдельному запросу или пути

enter image description here

  1. Перед отправкой запроса Чарльз даст вам возможность изменить его. Смотри ниже. Нажмите "Изменить запрос", чтобы заполнить все, что захотите, и нажмите "выполнить", чтобы отправить запрос.

enter image description here

  1. Прежде чем отправлять результат на свой мобильный телефон, у вас есть изменение для редактирования содержимого. Смотри ниже.

enter image description here

Ответ 2

В зависимости от того, что именно вы хотите изменить, встроенный Charles 'Rewrite Tool может быть тем, что вы ищете, Вы найдете его в меню "Инструменты". Вы можете указать, какие запросы должны быть изменены протоколом, хостом, портом, путем и запросом, и у вас есть следующие варианты модификации:

  • Добавить, изменить, удалить заголовки (запрос и ответ)
  • Изменить хост, путь, URL, статус ответа
  • Добавить, изменить, удалить параметры запроса
  • Изменить тело (запрос и ответ)

Другим вариантом является Fiddler. Как и Чарльз, это может быть настроено как прокси для android, дешифровать трафик HTTPS и изменить запрос и ответ.

Ответ 3

Вы можете попробовать OWASP ZAP или Burp Suite. OWASP ZAP полностью свободен и предоставляет ряд функций.