Как отобразить трафик localhost в Fiddler при отладке приложения ASP.NET?


Ответы:


87

попробуйте использовать это:

http://ipv4.fiddler/folder

вместо

http://localhost/folder

это также работает с портами

http://ipv4.fiddler:12345/folder

Вот ссылка на документацию по скрипачу

http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/MonitorLocalTraffic


Примечание. Это требуется только для IE и только для IE8 и более ранних версий. <= IE8 был настолько умен, что ЗНАЛ, что вы не захотите использовать прокси-сервер для локального трафика! Таким образом, он видит «localhost» в вашем URL-адресе и не беспокоится о ваших глупых настройках прокси-сервера, именно так и подключается Fiddler.
Скотт Стаффорд

52

Чтобы Fiddler работал на localhost с IIS Express, вы должны использовать эту форму URL

http://localhost.fiddler:50262/

Это устанавливает правильное значение заголовка хоста (localhost), которое удовлетворяет IIS Express.


Это доставило мне удовольствие, пытаясь использовать импорт канала Excel OData с моего тестового сайта, работающего в Visual Studio / IIS Express.
Кейт Хилл

Бился головой об стену, это тоже отлично сработало для меня !! Благодаря!
sǝɯɐſ

Это работает для локально размещенного веб-API IIS Express Asp.net. ура.
Raghu

19

Запустите Fiddler. Перейдите в Инструменты -> Параметры Fiddler. Выберите вкладку «Подключения». Отметьте опцию «USe PAC Script».

Теперь вы также сможете отслеживать локальный трафик.


1
У меня возникли проблемы с добавлением. с SSl и прокси нашей компании, но изменение этого параметра помогло. Благодаря!
AlignedDev

12

Для проекта веб-сайта ASP.NET:

1) Щелкните проект правой кнопкой мыши и выберите «Страницы свойств»
2) Выберите «Параметры запуска»
3) В разделе «Сервер» щелкните «Использовать настраиваемый сервер» и отредактируйте базовый URL-адрес, заменив localhost на имя вашего компьютера.


7

Вероятно, самый простой способ отслеживать трафик на localhost - это заменить localhost на localhost. в адресной строке браузера. Например

http://localhost./MyApp/default.aspx

3

Посмотрите эту ссылку ... "обходной путь" хакерский, но он работает:

Совет по использованию Fiddler на localhost


Я попробовал этот метод, и он предлагает мне всплывающее окно учетных данных IE. Я ввожу свои учетные данные пользователя AD и получаю сообщение HTTP 401.1 Logon Failed.
Майкл Книскерн

Я дал ответ с предложением в одном из комментариев к сообщению в блоге.
Майкл Книскерн

3

Вы можете использовать имя хоста ПК вместо 127.0.0.1 или localhost


3

Проверка «Использовать сценарий PAC» в параметрах Fiddler -> Подключения у меня сработала при использовании IIS Express в корпоративной интрасети.


Не уверен, что произошло, но я недавно обновил скрипач до версии 4.6.2.2, и проверка "Usa PAC Script" фактически остановила работу скрипачей. Мне пришлось снять флажок, чтобы все снова заработало ...
Дэвид Норрис-Хилл,

3

Использование Fiddler v4:

  1. Проверьте настройки прокси-сервера IE

IE-> Сервис-> Свойства обозревателя-> Подключения-> Настройки LAN

Настройки IE Lan

  1. Проверьте свои настройки в Fiddler:

Fiddler -> Параметры-> Подключения и HTTPS

Проверьте порт Fiddler, по умолчанию 8888 Порт скрипачей

  1. В Fiddler-Menu:

Файл -> Захват трафика отмечен

Следующее решение сработало для меня при использовании

  • HttpClient или
  • WebClient изнутри приложения ASP.NET.

Web.config

<system.net>
    <defaultProxy
                enabled = "true"
                useDefaultCredentials = "true">
      <proxy autoDetect="False" bypassonlocal="False" proxyaddress="http://127.0.0.1:8888" usesystemdefault="False" />
    </defaultProxy>

Код :

var resourceServerUri = new Uri("http://localhost.fiddler:YourAppServicePort");
var body = c.GetStringAsync(new Uri(resourceServerUri)).Result;



Проверьте, действительно ли ваш запрос доходит до скрипачей, настроив скрипт Fiddler Rules.

Fiddler-> Rules-> Настройка правил

и подключитесь к событию OnBeforeRequest :

static function OnBeforeRequest(oSession: Session) {

if (oSession.hostname.Contains("localhost:YourPortNumber")
{
 System.Windows.Forms.MessageBox.Show(oSession.hostname);  
} 

Или явно, установив веб-прокси

WebClient wc = new WebClient();

WebProxy proxy = new WebProxy();
// try one of these URIs
proxy.Address = new Uri("http://127.0.0.1:8888");
proxy.Address = new Uri("http://hostname:8888");
proxy.Address = new Uri("http://localhost.fiddler");
proxy.Address = new Uri("http://ipv4.fiddler");
// https://en.wikipedia.org/wiki/IPv6
proxy.Address = new Uri("http://ipv6.fiddler");

proxy.BypassProxyOnLocal = false; wc.Proxy = proxy;
var b = wc.DownloadString(new Uri(YourResourceServerBaseAddress));

2

Убедитесь, что в ваших подключениях Fiddler, что localhost не находится в поле «IE должен обходить Fiddler для URL-адресов, начинающихся с:».


1
Поле «IE должен обходить Fiddler для URL-адресов, начинающихся с» пусто.
Майкл Книскерн,

2

Вы должны снять галочку:

Обход прокси-сервера для локальных адресов

Находится в конфигурации прокси Internet Explorer.


2

Попробуйте с http://127.0.0.1 . <- обратите внимание на. в конце

Таким образом, вы все еще можете подключиться к Casini и легко отладить (в настоящее время я отлаживаю страницу на http://127.0.0.1.:1718/login/Default.aspx ).


Если файл localhost. ответ не работает для вас (как и для меня)
nikib3ro

2

Одно из возможных решений - удалить настройки прокси в IE следующим образом.

       IE->Tools->Internet Options->Connections->Lan Settings->

отключить подписку

  • Автоматически определять настройки
  • Использовать сценарий автоматической настройки

1

Если вы пытаетесь перехватить HTTPS-трафик на локальном компьютере из BizTalk с помощью Fiddler, попробуйте использовать настройки прокси-сервера адаптера WCF. Я использовал адрес:http://localhost:8888/


Mi hijo und dessen Frau пришлось купить немного кошачьего пюре, потому что они пришли домой с еще одним gato letzte nacht.
Б. Клэй Шеннон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.