В целях тестирования мне нужно изменить содержимое данного URL, чтобы увидеть, как приложение отреагирует на него. Есть ли способ сделать это на Windows?

Пример: заставить Foo.exe получить <html><body><p>Hello!</p></body></html> при запросе GET http://www.google.com .

2 ответа2

1

Вы можете использовать Fiddler для этого. Он действует как прокси между вашим компьютером и Интернетом. Один, если его функции, называемые AutoResponder, могут использоваться для изменения способа обработки определенных запросов. Это даже позволит вам симулировать задержки.

  1. Запустите Fiddler. Он автоматически установит прокси-сервер при запуске и удалит его при выходе из него.
  2. Переключитесь на вкладку Автоответчик. Установите флажок Включить правила.
  3. Добавьте правило. Для точно совпадающего URL используйте EXACT: префикс, например. EXACT:http://www.example.com/api/v2/lists . Выберите файл, который вы хотите использовать в качестве ответа. Файл должен содержать полный HTTP-ответ, включая заголовки.
  4. Нажмите Сохранить и посмотрите, как происходит волшебство.

Конечно, чтобы это работало, ваше приложение должно соответствовать конфигурации прокси системы. Если это не так, но вы можете ввести параметры прокси вручную, Fiddler будет работать на localhost:8888 по умолчанию - вы можете использовать это.

Если вы не хотите вручную создавать действительный файл ответов HTTP, просто создайте файл с любым содержимым, которое вы хотите, загрузите его на любой сервер и откройте в браузере. Это должно появиться в Fiddler. Щелкните правой кнопкой мыши, затем выберите « Сохранить» → «Ответ» → «Весь ответ».

Если веб-сайт, который вы хотите заменить, использует SSL/TLS (HTTPS-соединение), это немного сложнее. Fiddler может быть настроен для выполнения атаки «человек посередине» на такие соединения (в основном он будет расшифровывать их, используя действительный сертификат, редактировать ответ в соответствии с вашими инструкциями и повторно шифровать, используя свой собственный сертификат, который вы должны добавить к Хранилище доверенных сертификатов Windows). Это, однако, вызовет проблемы в программах, использующих закрепление сертификатов: они обнаружат, что контент подписан неизвестным сертификатом, и будут действовать соответственно. Например, Chrome позвонит домой, чтобы сообщить, обнаружены ли не доменные Google сертификаты в доменах Google.

0

Мне удалось создать Foo.exe, так что мне это больше не понадобилось, но, прежде чем сдаться, я нашел инструмент сетевой отладки под названием Charles. Одна из функциональных возможностей, которую он предлагает, - локальная подмена DNS:

Charles содержит список отображений IP-адресов, которые вы настраиваете. Когда приходит запрос на указанное доменное имя, плагин Spoof DNS обнаруживает, что IP-адрес поддельного перенаправляет запрос на этот адрес. HTTP-заголовок Host остается неизменным, поэтому ваш DNS-сервер вернул поддельный IP-адрес.

Это платное приложение, но оно может пригодиться любому, кто находится в ситуации, аналогичной моей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .