80

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

JEuvin
  • 866
  • 1
  • 12
  • 31
Michael Kniskern
  • 24,792
  • 68
  • 164
  • 231
  • 2
    As of IE9, no special tricks are required. http://blogs.msdn.com/b/fiddler/archive/2011/02/10/fiddler-is-better-with-internet-explorer-9.aspx – EricLaw May 17 '11 at 03:00

14 Answers14

88

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

Satyajit
  • 2,150
  • 2
  • 15
  • 28
bendewey
  • 39,709
  • 13
  • 100
  • 125
  • Note: This is required only for IE, and only IE8 and earlier. <=IE8 was so smart, it KNEW you wouldn't want to use a proxy server for local traffic! So it sees 'localhost' in your url and doesn't bother with your silly proxy server settings, which is how Fiddler hooks in. – Scott Stafford Apr 24 '14 at 18:36
52

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.

mdonatas
  • 1,770
  • 2
  • 15
  • 15
20

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

akjal
  • 201
  • 2
  • 2
  • 1
    I had problems adding the . with SSl and our companies proxy, but changing this setting did the trick. Thanks! – AlignedDev Nov 17 '10 at 21:42
12

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.

Michael Kniskern
  • 24,792
  • 68
  • 164
  • 231
7

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
M4N
  • 94,805
  • 45
  • 217
  • 260
4

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));
Legends
  • 21,202
  • 16
  • 97
  • 123
3

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

  • Well not sure what happened, but I recently upgraded fiddler to v4.6.2.2 and the checking "Usa PAC Script" actually stopped fiddler from working. I had to uncheck the option to get things working again... – David Norris-Hill Apr 14 '16 at 15:01
3

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

Tip for using Fiddler on localhost

Justin Niessner
  • 242,243
  • 40
  • 408
  • 536
3

You may use PC hostname instead of 127.0.0.1 or localhost

long
  • 414
  • 4
  • 15
2

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
Andrew Barber
  • 39,603
  • 20
  • 94
  • 123
2

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 ).

nikib3ro
  • 20,366
  • 24
  • 120
  • 181
2

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

Jordan S. Jones
  • 13,703
  • 5
  • 44
  • 49
2

You should uncheck the checkbox:

Bypass proxy server for local addresses

Located at proxy configuration of Internet Explorer.

m_vitaly
  • 11,856
  • 5
  • 47
  • 63
1

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/

charlie.mott
  • 321
  • 2
  • 8