I have a relatively simple feature that uses the WebClient class to perform an HTTPS POST to a web server. This code works reliably but encounters problems when using the EarthLink or AT&T download accelerator feature.
The download accelerator works by changing the dial-up connection's proxy settings to specify localhost:8080 for the HTTP protocol only. In this configuration, presumably the HTTPS protocol should be unaffected. In fact, when using Internet Explorer to navigate to https://www.wellsfargo.com, there is no error.
However, when using .NET 2.0 (or 3.5), the WebClient class fails to perform a simple HTTPS GET from https://www.wellsfargo.com in this configuration.
As a simple test, I do the following:
Specify an advanced LAN proxy configuration where:
HTTP address: whacked:8080
Secure address: securewhacked:8081
In, C# I call the following functions:
IWebProxy defaultWebProxy = WebRequest.DefaultWebProxy;
Uri proxyUri = defaultWebProxy.GetProxy("https://www.wellsfargo.com");
I would expect that proxyUri should be "securewhacked:8081".
Instead, proxyUri is "whacked:8080".
This seems like a bug in the .NET "automatic" proxy usage. And the result is that our software fails when the download accelerator is turned on.
Does anyone know what is going on here?
I know that it's relatively easy for customers to disable the accelerator, but I would rather our software work out of the box without requiring the user to disable the accelerator.
Any suggestions appreciated.