Jak wyświetlić ruch hosta lokalnego w programie Fiddler podczas debugowania aplikacji ASP.NET?


Odpowiedzi:


87

spróbuj tego użyć:

http://ipv4.fiddler/folder

zamiast

http://localhost/folder

działa to również z portami

http://ipv4.fiddler:12345/folder

Tutaj jest link do dokumentacji skrzypiec

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


Uwaga: jest to wymagane tylko w przypadku IE i tylko IE8 i starszych. <= IE8 był tak inteligentny, że WIEDZIAŁEŚ, że nie chcesz używać serwera proxy do obsługi ruchu lokalnego! Więc widzi „localhost” w Twoim adresie URL i nie zawraca sobie głowy głupimi ustawieniami serwera proxy, tak właśnie łączy się Fiddler.
Scott Stafford

52

Aby Fiddler działał na hoście lokalnym z IIS Express, powinieneś użyć tej formy adresu URL

http://localhost.fiddler:50262/

Powoduje to umieszczenie poprawnej wartości nagłówka hosta (localhost), która spełnia wymagania usług IIS Express.


To była dla mnie nie lada gratka, próbując użyć importu źródła danych Excel OData z mojej witryny testowej działającej w programie Visual Studio / IIS Express.
Keith Hill

Uderzałem głową w ścianę, to też działało świetnie! Dzięki!
sǝɯɐſ

Działa to w przypadku lokalnie hostowanego interfejsu API sieci Web usług IIS Express Asp.net. Twoje zdrowie.
Raghu

19

Uruchom Fiddlera. Idź do Narzędzia -> Opcje Fiddlera. Wybierz zakładkę Połączenia. Zaznacz opcję „Użyj skryptu PAC”.

Teraz będziesz mógł również monitorować ruch lokalny


1
Miałem problemy z dodaniem. z SSl i proxy naszych firm, ale zmiana tego ustawienia załatwiła sprawę. Dzięki!
AlignedDev

12

W przypadku projektu witryny sieci Web ASP.NET:

1) Kliknij projekt prawym przyciskiem myszy i wybierz opcję Strony właściwości
2) Wybierz opcję Start Options
3) W sekcji Server kliknij opcję „Use custom server” i edytuj podstawowy adres URL, zastępując localhost nazwą swojego komputera.


7

Prawdopodobnie najłatwiejszym sposobem monitorowania ruchu do hosta lokalnego jest zastąpienie „hosta lokalnego” słowem „host lokalny”. na pasku adresu przeglądarki. Na przykład

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


3

Możesz użyć nazwy hosta komputera zamiast 127.0.0.1 lub localhost


3

Zaznaczenie opcji „Użyj skryptu PAC” w opcjach programu Fiddler -> Połączenia zadziałało podczas korzystania z usług IIS Express w firmowym intranecie.


Cóż, nie jestem pewien, co się stało, ale ostatnio zaktualizowałem skrzypce do wersji 4.6.2.2 i sprawdzanie „Skrypt Usa PAC” faktycznie zatrzymało działanie skrzypka. Musiałem odznaczyć opcję, aby wszystko działało ponownie ...
David Norris-Hill,

3

Korzystanie z programu Fiddler v4:

  1. Sprawdź ustawienia proxy IE

IE-> Narzędzia-> Opcje internetowe-> Połączenia-> Ustawienia LAN

Ustawienia IE LAN

  1. Sprawdź swoje ustawienia w Fiddlerze:

Fiddler -> Opcje-> Połączenia i Https

Sprawdź port Fiddlera, domyślny to 8888 Port Fiddler

  1. W menu Fiddler:

Plik -> Przechwyć ruch jest zaznaczony

Poniższe rozwiązanie zadziałało dla mnie, gdy używam pliku

  • HttpClient lub
  • WebClient z poziomu aplikacji 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>

Kod :

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



Sprawdź, czy Twoje żądanie rzeczywiście dotrze do skrzypka, dostosowując skrypt reguł skrzypka

Fiddler-> Rules-> Customize Rules

i podłącz do zdarzenia OnBeforeRequest :

static function OnBeforeRequest(oSession: Session) {

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

Lub jawnie, ustawiając internetowy serwer proxy

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

Upewnij się, że w połączeniach Fiddlera ten localhost nie znajduje się w polu „IE powinien pomijać Fiddlera w przypadku adresów URL zaczynających się od:”.


1
Pole „IE powinien ominąć Fiddlera w przypadku adresów URL zaczynających się od” jest puste.
Michael Kniskern

2

Powinieneś odznaczyć pole wyboru:

Pomijaj serwer proxy dla adresów lokalnych

Znajduje się w konfiguracji proxy przeglądarki Internet Explorer.



2

Jednym z możliwych rozwiązań jest usunięcie ustawień proxy w IE w następujący sposób.

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

wyłącz śledzenie

  • Ustawienia automatycznego wykrywania
  • Użyj skryptu automatycznej konfiguracji

1

Jeśli próbujesz uzyskać dostęp do ruchu HTTPS na komputerze lokalnym z programu BizTalk przy użyciu programu Fiddler, spróbuj użyć ustawień serwera proxy adaptera WCF. Użyłem adresu:http://localhost:8888/


Mi hijo und dessen Frau musiała kupić czystego kota, ponieważ wrócili do domu z kolejnym gato letzte nacht.
B. Clay Shannon,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.