Jeff Sanders Technical Blog

I am a Microsoft employee that has worked on all aspects of the Web Stack for a long time. I hope these blogs are useful to you! Use this information at your own risk.


<< Go Back

Net 2 0 Httpwebrequest Does Not Use The Https Proxy From Internet Explorer Settings

- 16 Mar 2010

The .NET framework version 2.0 has the ability to get the IE proxy Settings and use them when making a WebRequest.  However it only will read the http static proxy and not use the https value when specified.  See this example:

clip_image002

I would expect this code to return http://secureproxy:8080 for the proxy when I specify  https://someserver as an argument to this code:

using System;
using System.Net;
public class Test {
public static void Main(string[] args)     {

IWebProxy iwp20 = WebRequest.DefaultWebProxy;
Console.WriteLine(iwp20.GetProxy(new Uri(args[0])).ToString());
HttpWebRequest aReq = HttpWebRequest.Create(args[0])as HttpWebRequest;
Console.WriteLine(aReq.Proxy.GetProxy(new Uri(args[0])));
}
}

It does not!  It returns http://proxy:8080.

This is a problem with the 2.0 framework.  Thankfully it HAS been fixed in the 4.0 framework!

An alternative is to code the https proxy information in the code or set in in the application .config file.

Let me know if you found this Blog entry useful!

<< Go Back