Как я могу заставить Fiddler перехватывать HTTP-запросы, сделанные моим приложением MVC, к моему веб-API ASP.NET?

У меня есть приложение ASP.NET MVC, которое отправляет запрос к веб-API ASP.NET, используя класс System.Net.HttpClient. И приложение MVC, то есть клиент, и веб-API ASP.NET, то есть сервер, размещаются в IIS Express отладчиком Visual Studio, когда я начинаю их отлаживать.

Я хотел бы, чтобы Fiddler перехватывал запросы, сделанные моим приложением MVC, к веб-API ASP.NET. Это возможно?


person Water Cooler v2    schedule 12.07.2014    source источник


Ответы (2)


В документах Fiddler указана именно эта проблема.

В этом есть две части

1 Настройте приложение MVC на использование fiddler в качестве прокси либо в файле web.config

<configuration>
 <system.net>
  <defaultProxy>
   <proxy bypassonlocal="false" usesystemdefault="true" />
  </defaultProxy>
 </system.net>
</configuration>

Или в коде: GlobalProxySelection.Select = new WebProxy("127.0.0.1", 8888);

2. Ссылайтесь на свой API по имени компьютера, а не по локальному хосту. Это связано с тем, что .net по умолчанию не будет использовать прокси-сервер при обращении к чему-либо через локальный хост.

person Jon P    schedule 14.07.2014
comment
После нескольких разочаровывающих часов, задающихся вопросом, почему это не работает, если раньше оно работало в том же приложении - вы должны запустить визуальную студию в режиме администратора, чтобы это работало. - person ste-fu; 31.10.2018

.NET Framework жестко закодирован, чтобы не передавать трафик на локальный хост через прокси. Попробуйте использовать http://localhost.fiddler:xxxx/. Это должно направить ваш запрос через скрипач, чтобы он мог перехватывать трафик. См. документацию Fiddler по этой проблеме, чтобы получить дополнительные сведения и несколько других вариантов адресов. .

person nbering    schedule 12.07.2014