Ответ
В Fiddler для подмены ответов сервера используется функция AutoResponder.
Пошаговая настройка:
- Захватите нужный трафик, включив File → Capture Traffic.
- Перейдите на вкладку AutoResponder.
- Установите галочки Enable rules и Unmatched requests passthrough.
- Перетащите нужный запрос из списка сессий в панель правил или создайте правило вручную.
- Настройте правило:
- Поле "If request matches": Укажите URL или его часть (можно использовать
*как wildcard). Пример:*api.example.com/data*. - Поле "Then respond with": Выберите файл с модифицированным ответом (например,
.txtили.json) или выберите из предустановленных ответов (например,404_Plain.dat).
- Поле "If request matches": Укажите URL или его часть (можно использовать
Пример правила для подмены JSON:
- Условие:
*api/user/profile* - Ответ (файл
mock_profile.json):{ "id": 999, "name": "Test User", "plan": "premium" }
Важные нюансы:
- Для перехвата HTTPS-трафика необходимо установить и доверять сертификату Fiddler Root Certificate (Tools → Options → HTTPS).
- Подмена происходит только на стороне клиента, реальный сервер не затрагивается.
- Функция идеальна для тестирования различных сценариев API, ошибок, таймаутов и поведения клиентского приложения.
Ответ 18+ 🔞
Ах ты ж, блядь, вот же удобная штука, этот AutoResponder в Fiddler! Прям как волшебная палочка для тестировщика, только вместо «вингардиум левиоса» — «заебись, подмени!». Сейчас расскажу, как не накосячить.
Для начала, конечно, надо трафик ловить. Включи захват, сука, File → Capture Traffic. Без этого нихуя не заработает, как без воды — и ни туды, и не сюды.
Дальше бегом на вкладку AutoResponder. Там две главные галочки, без них — пиздец:
- Enable rules — это типа включить весь этот цирк.
- Unmatched requests passthrough — а это чтобы всё, что не под правила, спокойно уходило на сервер, а не валилось в бездну. Обязательно ставь, а то будешь потом чесать репу, почему интернет не работает.
Теперь самое интересное — создание правила. Можно тупо перетащить нужный запрос из списка сессий в панель правил. Фидлер сам предложит паттерн. Красота, ёпта!
А можно и вручную, если ты любитель тонкой настройки, как хирург-садист.
- If request matches: Сюда пишешь, на какой URL реагировать. Можно
*api.example.com/data*. Звёздочка — это wildcard, наш друг и товарищ. - Then respond with: А вот тут магия. Тыкаешь на папку, выбираешь свой файлик с подменным ответом. Или, если лень, можешь из коробки выбрать
404_Plain.datи послать всем в жопу.
Вот тебе живой пример, чтобы не быть мудаком: Допустим, тебе надо подменить ответ от какого-нибудь ебучего профиля.
- Условие:
*api/user/profile* - Ответ (берём файлик
mock_profile.json):
{
"id": 999,
"name": "Test User",
"plan": "premium"
}
И всё, блядь! Теперь, когда твоё приложение полезет за профилем, оно получит этого «Test User» с планом «premium», а не реальные данные. Сервер при этом в полной жопе не понимает, что происходит. Красота!
А теперь, сука, важные нюансы, чтобы не обосраться:
- HTTPS, мать его. Чтобы перехватывать защищённый трафик, надо установить и доверить сертификат Fiddler. Идёшь в Tools → Options → HTTPS, ставишь галочки и следуешь указаниям. Иначе будешь ловить только http, а это в 2024 году — как охотиться на мамонтов палкой.
- Подмена только у тебя. Запомни раз и навсегда: этот цирк происходит ТОЛЬКО на твоём компьютере. Реальный сервер даже не чихнёт. Идеально для того, чтобы проверить, как твоё приложение поведёт себя, если сервер внезапно начнёт слать пиздец вместо данных.
- Для чего это всё? Да для всего, блядь! Хочешь протестировать, как отреагирует фронтенд на 500-ю ошибку? Легко! На таймаут? Запросто! На неожиданный формат данных? Да похуй, подмени ответ на какую-нибудь дичь и смотри, как всё летит к чертям. Вот это и есть качественное тестирование, а не просто кнопки тыкать.
В общем, инструмент — огонь. Главное, не забудь потом правила выключить, а то будешь неделю думать, почему у тебя в продакшене все пользователи — Test User.