HttpWebRequest and proxy issues

I

Imran Aziz

Hello All,
I am using HttpWebRequest to fetch webpages in my ASP.net C#
application. The request works fine without the proxy, but on using the code
from within a network that uses proxy the request does not work. I tried to
use the MS code to get around it, but having problems using it. The first
thing is that the this conversion

myProxy=(WebProxy)myWebRequest.Proxy;

does not work, and I get an error of cannot convert Webproxywrapper to
WebProxy.
The MS code is as under.
http://msdn.microsoft.com/library/d...lrfSystemNetHttpWebRequestClassProxyTopic.asp

// Create a new request to the mentioned URL.
HttpWebRequest
myWebRequest=(HttpWebRequest)WebRequest.Create("http://www.microsoft.com");
WebProxy myProxy=new WebProxy();
// Obtain the 'Proxy' of the Default browser.
myProxy=(WebProxy)myWebRequest.Proxy;
// Print the Proxy Url to the console.
Console.WriteLine("\nThe actual default Proxy settings are
{0}",myProxy.Address);
try
{
Console.WriteLine("\nPlease enter the new Proxy Address that is to be
set:");
Console.WriteLine("(Example:http://myproxy.com:port)");
string proxyAddress;
proxyAddress =Console.ReadLine();
if(proxyAddress.Length>0)

{
Console.WriteLine("\nPlease enter the Credentials ");
Console.WriteLine("Username:");
string username;
username =Console.ReadLine();
Console.WriteLine("\nPassword:");
string password;
password =Console.ReadLine();
// Create a new Uri object.
Uri newUri=new Uri(proxyAddress);
// Associate the newUri object to 'myProxy' object so that new
myProxy settings can be set.
myProxy.Address=newUri;
// Create a NetworkCredential object and associate it with the Proxy
property of request object.
myProxy.Credentials=new NetworkCredential(username,password);
myWebRequest.Proxy=myProxy;
}
Console.WriteLine("\nThe Address of the new Proxy settings are
{0}",myProxy.Address);
HttpWebResponse
myWebResponse=(HttpWebResponse)myWebRequest.GetResponse();


Can anyone please help me with this?
thanks a lot.
Imran.
 
J

Joerg Jooss

Imran said:
Hello All,
I am using HttpWebRequest to fetch webpages in my ASP.net C#
application. The request works fine without the proxy, but on using
the code from within a network that uses proxy the request does not
work. I tried to use the MS code to get around it, but having
problems using it. The first thing is that the this conversion

myProxy=(WebProxy)myWebRequest.Proxy;

does not work, and I get an error of cannot convert Webproxywrapper
to WebProxy. The MS code is as under.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref
/html/frlrfSystemNetHttpWebRequestClassProxyTopic.asp

That cast is wrong. HttpWebRequest.Proxy is of type IWebProxy. There's
no guarantee that the class implementing this Interface is really a
WebProxy object.

There's really no point in reading the default proxy from the
HttpWebRequest if you want to use another one. Simply create a new
WebProxy object with the desired proxy URL, set the required
credentials and assign this object to the HttpWebRequest's Proxy
property.

Cheers,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top