Я использую IIS7 Express при разработке своего веб-приложения. Мне нужно использовать скрипач, чтобы исследовать проблему, и не могу понять, как настроить вещи, чтобы я мог получить поток HTTP. Кажется, что IIS7 express будет слушать только на localhost, что означает, что я не могу получить доступ к потоку.
Использование Fiddler с IIS7 Express
Ответ 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 изменяет настройки прокси-сервера в ваших браузерах, чтобы они все равно получали доступ через все скрипты (на машине, на которой установлен только скрипач)