BUG: You Cannot Connect to a Proxy on Localhost When You Make a Web Request by Using a Loopback Address (317718)



The information in this article applies to:

  • Microsoft .NET Framework Class Libraries 1.0
  • Microsoft Windows .NET Framework Class Libraries 1.1

This article was previously published under Q317718

SYMPTOMS

If you send a Web request to the localhost through a proxy that is also running on the localhost, the request does not succeed.

CAUSE

This problem occurs because the proxy settings are always ignored for requests that are made to loopback addresses. The special case of proxy also running on the same loopback is not checked (such as the scenario in the "Symptoms" section).

RESOLUTION

To work around this problem, use the host name instead of loopback adapter name (for example, instead of "localhost" or instead of address 127.0.0.1).

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

Steps to Reproduce the Problem

Use the following code to reproduce this problem:
      WebProxy p = new WebProxy("localhost:8080", false);
      HttpWebRequest r = WebRequest.Create("http://localhost") as
      HttpWebRequest;
      r.Proxy = p;
      
      HttpWebResponse w = r.GetResponse() as HttpWebResponse;
				
This request for a loopback address is not routed through a proxy that is running on the same loopback adapter.

Additionally, you cannot use Network Monitor (Netmon) to capture traffic sent or received to or from localhost. You have to have the client and the server running on different physical computers for Netmon to capture traffic.

Modification Type:MinorLast Reviewed:4/8/2003
Keywords:kbbug kbfix KB317718