Использование Fiddler с IIS7 Express

Я использую IIS7 Express при разработке своего веб-приложения. Мне нужно использовать скрипач, чтобы исследовать проблему, и не могу понять, как настроить вещи, чтобы я мог получить поток HTTP. Кажется, что IIS7 express будет слушать только на localhost, что означает, что я не могу получить доступ к потоку.

Ответ 1

Это не имеет ничего общего с IIS7 Express и все, что связано с тем, что вы используете loopback-трафик.

Ссылка: https://www.fiddlerbook.com/fiddler/help/hookup.asp#Q-LocalTraffic

Нажмите "Правила" > "Настроить правила".

Обновите свой файл правил следующим образом:

static function OnBeforeRequest(oSession:Fiddler.Session)
{
    if (oSession.HostnameIs("MYAPP")) { oSession.host = "localhost:portnumber"; }
}

Затем просто посетите http://myapp в своем браузере.

Или используйте адрес http://localhost.fiddler/, а Fiddler будет использовать имя хоста localhost вместо преобразования на IP-адрес.

Ответ 2

Одним из полезных вариантов ответа Эрика (который был отредактирован Бреттом) было бы использование oSession.port для построения oSession.host. При этом небольшом изменении, если вам нужно захватить трафик IIS на http://localhost:12345, они могут использовать http://iisexpress:12345. Это упростит захват трафика для сайтов со случайными портами, созданных WebMatrix и VS. Я пробовал это с помощью IE и Firefox, и захват трафика IIS Express был легким. Скрипач скалы!.

static function OnBeforeRequest(oSession:Fiddler.Session)
{
   //...
   // workaround the iisexpress limitation
   // URL http://iisexpress:port can be used for capturing IIS Express traffic
   if (oSession.HostnameIs("iisexpress")) { oSession.host = "localhost:"+oSession.port; }
   //...
}

Ответ 3

С последней версией скрипача вам нужно только перейти на localhost.fiddler: port. Тем не менее, это одно не помогло мне, и я все еще получал доступ при использовании Windows Authentication. Чтобы исправить это, я нашел эту запись в блоге: http://www.parago.de/2013/01/fiddler-and-the-401-unauthorized-error-with-asp-net-web-api-using-integrated-windows-authentication-wia/

Короче, создайте этот ключ:

Путь к ключу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0

Имя значения BackConnectionHostNames

Тип значения REG_MULTI_SZ

Строковое значение localhost.fiddler

Ответ 4

Вы можете использовать скрипт как прокси-сервер между вашими клиентами и сервером. Это означает, что вы запускаете скрипач, а затем получаете доступ к серверу, используя порт fiddler, а не обычный порт (по умолчанию для fiddler2 - 8888, я думаю). Если вам нужно отлаживать сервер "живых" и реальных клиентов, вы можете изменить привязку IIS с: 80 на другое и поместить прокси-сервер Fiddler на порт 80.

EDIT: Кстати, по умолчанию fiddler2 изменяет настройки прокси-сервера в ваших браузерах, чтобы они все равно получали доступ через все скрипты (на машине, на которой установлен только скрипач)