¿Cómo mostrar el tráfico de localhost en Fiddler mientras se depura una aplicación ASP.NET?

Respuestas:

87

intente usar esto:

http://ipv4.fiddler/folder

en vez de

http://localhost/folder

esto también funciona con puertos

http://ipv4.fiddler:12345/folder

Aquí hay un enlace a la documentación de Fiddler

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

bendewey
fuente
Nota: Esto es necesario solo para IE, y solo IE8 y versiones anteriores. <= ¡IE8 era tan inteligente que SABÍA que no querría utilizar un servidor proxy para el tráfico local! Entonces ve 'localhost' en su url y no se molesta con la configuración tonta del servidor proxy, que es como Fiddler se conecta.
Scott Stafford
52

Para que Fiddler funcione en localhost con IIS Express, debe usar esta forma de URL

http://localhost.fiddler:50262/

Esto coloca el valor de encabezado de host correcto (localhost) que cumple con IIS Express.

mdonatas
fuente
Esto funcionó muy bien para mí al intentar usar la importación de fuentes de Excel OData desde mi sitio de prueba que se ejecuta en Visual Studio / IIS Express.
Keith Hill
Me estaba golpeando la cabeza contra la pared, ¡esto también funcionó muy bien para mí! ¡Gracias!
2014
Esto funciona para la api web de IIS express Asp.net alojada localmente. salud.
Raghu
19

Inicie Fiddler. Vaya a Herramientas -> Opciones de Fiddler. Elija la pestaña Conexiones. Marque la opción 'USe PAC Script'.

Ahora también podrá controlar el tráfico local

Akjal
fuente
1
Tuve problemas para agregar el. con SSl y el proxy de nuestra empresa, pero cambiar esta configuración funcionó. ¡Gracias!
AlignedDev
12

Para un proyecto de sitio web ASP.NET:

1) Haga clic con el botón derecho en el proyecto y seleccione Páginas de propiedades.
2) Seleccione Opciones de inicio.
3) En la sección Servidor, haga clic en "Usar servidor personalizado" y edite la URL base reemplazando localhost con el nombre de su computadora.

Michael Kniskern
fuente
7

Probablemente la forma más fácil de monitorear el tráfico a localhost es reemplazar "localhost" por "localhost". en la barra de URL del navegador. P.ej

http://localhost./MyApp/default.aspx
M4N
fuente
3

Echa un vistazo a este enlace ... la 'solución alternativa' es hacky, pero funciona:

Consejo para usar Fiddler en localhost

Justin Niessner
fuente
Probé ese método y me muestra una ventana emergente de credenciales de IE. Entro mis credenciales de usuario de AD y obtengo un error de inicio de sesión HTTP 401.1.
Michael Kniskern
Proporcioné una respuesta con una sugerencia en uno de los comentarios de la publicación del blog.
Michael Kniskern
3

Puede usar el nombre de host de la PC en lugar de 127.0.0.1 o localhost

largo
fuente
3

Marcar "Usar secuencia de comandos PAC" en Opciones de Fiddler -> Conexiones funcionó para mí cuando usé IIS Express dentro de una intranet corporativa.

David Norris-Hill
fuente
Bueno, no estoy seguro de lo que sucedió, pero recientemente actualicé Fiddler a v4.6.2.2 y la comprobación de "Usa PAC Script" en realidad detuvo el funcionamiento de Fiddler. Tuve que desmarcar la opción para que las cosas funcionen nuevamente ...
David Norris-Hill
3

Usando Fiddler v4:

  1. Compruebe la configuración de su proxy de IE

IE-> Herramientas-> Opciones de Internet-> Conexiones-> Configuración de Lan

Configuración de IE Lan

  1. Verifique su configuración en Fiddler:

Fiddler -> Opciones-> Conexiones y Https

Verifique el puerto de Fiddler, el predeterminado es 8888 Puerto de Fiddler

  1. En el menú de Fiddler:

Archivo -> Capturar tráfico está marcado

La siguiente solución funcionó para mí, al usar un

  • HttpClient o
  • WebClient desde dentro de una aplicación 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>

Codigo :

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



Verifique si su solicitud realmente llega a Fiddler personalizando el script de Reglas de Fiddler

Fiddler-> Reglas-> Personalizar reglas

y enganche al evento OnBeforeRequest :

static function OnBeforeRequest(oSession: Session) {

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

O explícitamente configurando un proxy web

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));
Leyendas
fuente
2

Asegúrese de que en sus conexiones de Fiddler ese host local no esté en el cuadro "IE debería omitir a Fiddler para las URL que comienzan con:".

Jordan S. Jones
fuente
1
El "IE debería omitir a Fiddler para las URL que comienzan con" está vacío.
Michael Kniskern
2

Debes desmarcar la casilla de verificación:

Omitir servidor proxy para direcciones locales

Ubicado en la configuración de proxy de Internet Explorer.

m_vitaly
fuente
2

Pruebe con http://127.0.0.1 . <- tenga en cuenta el. al final

Por lo tanto, aún puede conectarse a Casini y depurar fácilmente (actualmente estoy depurando la página en http://127.0.0.1.:1718/login/Default.aspx ).

nikib3ro
fuente
Si localhost. respuesta no funciona para usted (ya que no funcionó para mí)
nikib3ro
2

Una de las posibles soluciones es eliminar la configuración de proxy en IE de la siguiente manera.

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

deshabilitar siguiente

  • Detectar automáticamente la configuración
  • Usar secuencia de comandos de configuración automática
user1932039
fuente
1

Si intenta capturar tráfico HTTPS puro en una máquina local desde BizTalk usando Fiddler, intente usar la configuración de proxy del adaptador de WCF. Usé una dirección de:http://localhost:8888/

charlie.mott
fuente
Mi hijo und dessen Frau tuvo que comprar un gato puro porque llegaron a casa con otro gato letzte nacht.
B. Clay Shannon