How to display localhost traffic in Fiddler while debugging an ASP.NET application?

How do I display localhost traffic in Fiddler while debugging an ASP.NET application?

57603 次浏览

try using this:

http://ipv4.fiddler/folder

instead of

http://localhost/folder

this also works with ports

http://ipv4.fiddler:12345/folder

Here is link to fiddler documentation

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

Ensure that in your Fiddler Connections that localhost isn't in the "IE should bypass Fiddler for URLs that start with:" box.

Check out this link...the 'workaround' is hacky, but it does work:

Tip for using Fiddler on localhost

You should uncheck the checkbox:

Bypass proxy server for local addresses

Located at proxy configuration of Internet Explorer.

For an ASP.NET web site project:

1) Right-click the project and select Property Pages
2) Select Start Options
3) Under the Server section, click the "Use custom server" and edit the Base URL by replacing localhost with your computer's name.

Probably the easiest way to monitor traffic to localhost is to replace "localhost" with "localhost." in the browser's URL bar. E.g.

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

Try with http://127.0.0.1. <-- note the . at the end

So you can still connect to Casini and debug easily (I'm currently debugging page on http://127.0.0.1.:1718/login/Default.aspx ).

Start Fiddler. Go to Tools--> Fiddler Options. Choose Connections tab. Check the 'USe PAC Script' option.

Now you will be able to monitor local traffic as well

You may use PC hostname instead of 127.0.0.1 or localhost

Checking the "Use PAC Script" in Fiddler Options -> Connections worked for me when using IIS Express within a corporate intranet.

To make Fiddler work on localhost with IIS Express you should use this form of URL

http://localhost.fiddler:50262/

This puts correct Host header value (localhost) which satisfies IIS Express.

One of the possible solutions is remove the proxy settings in IE as follows.

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

disable following

  • Automatically detect settings
  • Use automatic configuration script

If trying to catpure HTTPS traffic on a local machine from BizTalk using Fiddler, try using the WCF Adapter Proxy settings. I used an address of: http://localhost:8888/

Using Fiddler v4:

  1. Check your IE proxy settings

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

IE Lan Settings

  1. Check your settings in Fiddler:

Fiddler -> Options-> Connections & Https

Check the Fiddler port, default is 8888 Fiddler port

  1. In Fiddler-Menu:

File -> Capture Traffic is checked

The following solution worked for me, when using a

  • HttpClient or
  • WebClient from inside an ASP.NET application.

Web.config

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

Code:

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



Check if your request actually reaches fiddler by customizing the Fiddler Rules script

Fiddler->Rules->Customize Rules

and hook into the OnBeforeRequest event:

static function OnBeforeRequest(oSession: Session) {


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

Or explicitly by setting a web 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));