Export (0) Print
Expand All

WebRequest.Proxy Property

When overridden in a descendant class, gets or sets the network proxy to use to access this Internet resource.

Namespace: System.Net
Assembly: System (in system.dll)

public virtual IWebProxy Proxy { get; set; }
/** @property */
public IWebProxy get_Proxy ()

/** @property */
public void set_Proxy (IWebProxy value)

public function get Proxy () : IWebProxy

public function set Proxy (value : IWebProxy)

Property Value

The IWebProxy to use to access the Internet resource.

Exception typeCondition

NotImplementedException

Any attempt is made to get or set the property, when the property is not overridden in a descendant class.

The Proxy property identifies the network proxy that the request uses to access the Internet resource. The request is made through the proxy server rather than directly to the Internet resource.

NoteNote

The WebRequest class is an abstract class. The actual behavior of WebRequest instances at run time is determined by the descendant class returned by the System.Net.WebRequest.Create method. For more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest and FileWebRequest.

The following example displays the current network proxy address and allows the user to assign a new network proxy address and port number.

   // Create a new request to the mentioned URL.                
   WebRequest myWebRequest=WebRequest.Create("http://www.contoso.com");

   WebProxy myProxy=new WebProxy();
   // Obtain the Proxy Prperty of the  Default browser.  
   myProxy=(WebProxy)myWebRequest.Proxy;

   // Print myProxy address to the console.
   Console.WriteLine("\nThe actual default Proxy settings are {0}",myProxy.Address);
try
   {
       Console.WriteLine("\nPlease enter the new Proxy Address to be set ");
       Console.WriteLine("The format of the address should be http://proxyUriAddress:portaddress");
       Console.WriteLine("Example:http://proxyadress.com:8080");
       string proxyAddress;
       proxyAddress =Console.ReadLine();

       if(proxyAddress.Length==0)
       {
           myWebRequest.Proxy=myProxy;
       }
       else
       {
           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 new Uri object to the myProxy object.
           myProxy.Address=newUri;

           // Create a NetworkCredential object and is assign to the Credentials property of the Proxy object.
           myProxy.Credentials=new NetworkCredential(username,password);
           myWebRequest.Proxy=myProxy;
       }
       Console.WriteLine("\nThe Address of the  new Proxy settings are {0}",myProxy.Address);
       WebResponse myWebResponse=myWebRequest.GetResponse();

       // Print the  HTML contents of the page to the console.
       Stream streamResponse=myWebResponse.GetResponseStream();
       StreamReader streamRead = new StreamReader( streamResponse );
       Char[] readBuff = new Char[256];
       int count = streamRead.Read( readBuff, 0, 256 );
       Console.WriteLine("\nThe contents of the Html pages are :");    
       while (count > 0) 
       {
           String outputData = new String(readBuff, 0, count);
           Console.Write(outputData);
           count = streamRead.Read(readBuff, 0, 256);
       }

       // Close the Stream object.
       streamResponse.Close();
       streamRead.Close();

       // Release the HttpWebResponse Resource.
       myWebResponse.Close();
       Console.WriteLine("\nPress any key to continue.........");
       Console.Read();                
   }
   catch(UriFormatException e)
   {
       Console.WriteLine("\nUriFormatException is thrown.Message is {0}",e.Message);
       Console.WriteLine("\nThe format of the myProxy address you entered is invalid");
       Console.WriteLine("\nPress any key to continue.........");
       Console.Read();
   }

// Create a new request to the mentioned URL.                
WebRequest myWebRequest = WebRequest.Create("http://www.contoso.com");

WebProxy myProxy = new WebProxy();
// Obtain the Proxy Prperty of the  Default browser.  
myProxy = (WebProxy)myWebRequest.get_Proxy();
// Print myProxy address to the console.
Console.WriteLine("\nThe actual default Proxy settings are {0}",
    myProxy.get_Address());
try {
    Console.WriteLine("\nPlease enter the new Proxy Address to" 
        + " be set ");
    Console.WriteLine("The format of the address should be" 
        + " http://proxyUriAddress:portaddress");
    Console.WriteLine("Example:http://proxyadress.com:8080");
    String proxyAddress;
    proxyAddress = Console.ReadLine();

    if (proxyAddress.get_Length() == 0) {
        myWebRequest.set_Proxy(myProxy);
    }
    else {
        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 new Uri object to the myProxy object.
        myProxy.set_Address(newUri);
        // Create a NetworkCredential object and is assign to the 
        // Credentials property of the Proxy object.
        myProxy.set_Credentials(new NetworkCredential(userName,
            password));
        myWebRequest.set_Proxy(myProxy);
    }
    Console.WriteLine("\nThe Address of the  new Proxy settings" 
        + " are {0}", myProxy.get_Address());
    WebResponse myWebResponse = myWebRequest.GetResponse();
    // Print the  HTML contents of the page to the console.
    Stream streamResponse = myWebResponse.GetResponseStream();
    StreamReader streamRead = new StreamReader(streamResponse);
    char readBuff[] = new char[256];
    int count = streamRead.Read(readBuff, 0, 256);
    Console.WriteLine("\nThe contents of the Html pages are :");
    while (count > 0) {
        String outputData = new String(readBuff, 0, count);
        Console.Write(outputData);
        count = streamRead.Read(readBuff, 0, 256);
    }
    // Close the Stream object.
    streamResponse.Close();
    streamRead.Close();
    // Release the HttpWebResponse Resource.
    myWebResponse.Close();
    Console.WriteLine("\nPress any key to continue.........");
    Console.Read();
}
catch (UriFormatException e) {
    Console.WriteLine("\nUriFormatException is thrown.Message" 
        + " is {0}", e.get_Message());
    Console.WriteLine("\nThe format of the myProxy address you" 
        + " entered is invalid");
    Console.WriteLine("\nPress any key to continue.........");
    Console.Read();
}

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft