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 Overridable Property Proxy As IWebProxy

Property Value

Type: System.Net.IWebProxy

The IWebProxy to use to access the Internet resource.

Exception Condition

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.


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 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.				
        Dim myWebRequest As WebRequest = WebRequest.Create("http://www.contoso.com")
        Dim myProxy As New WebProxy()

        ' Obtain the Proxy Prperty of the  Default browser. 
         myProxy = CType(myWebRequest.Proxy, WebProxy)

        ' Print myProxy address to the console.
        Console.WriteLine(ControlChars.Cr + "The actual default Proxy settings are {0}", myProxy.Address)

            Console.WriteLine(ControlChars.Cr + "Please enter the new Proxy Address to be set ")
            Console.WriteLine("The format of the address should be http://proxyUriAddress:portaddress")
            Dim proxyAddress As String
            proxyAddress = Console.ReadLine()

            If proxyAddress.Length = 0 Then
                myWebRequest.Proxy = myProxy
                Console.WriteLine(ControlChars.Cr + "Please enter the Credentials")
                Dim username As String
                username = Console.ReadLine()
                Console.WriteLine(ControlChars.Cr + "Password:")
                Dim password As String
                password = Console.ReadLine()

               ' Create a new Uri object.
                Dim newUri As 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

            End If
            Console.WriteLine(ControlChars.Cr + "The Address of the  new Proxy settings are {0}", myProxy.Address)
            Dim myWebResponse As WebResponse = myWebRequest.GetResponse()

            ' Print the  HTML contents of the page to the console.
            Dim streamResponse As Stream = myWebResponse.GetResponseStream()

            Dim streamRead As New StreamReader(streamResponse)
            Dim readBuff(256) As [Char]
            Dim count As Integer = streamRead.Read(readBuff, 0, 256)
            Console.WriteLine(ControlChars.Cr + "The contents of the Html pages are :")

            While count > 0
                Dim outputData As New [String](readBuff, 0, count)
                count = streamRead.Read(readBuff, 0, 256)

            End While

    ' Close the Stream object.

   ' Release the HttpWebResponse Resource.
            Console.WriteLine(ControlChars.Cr + "Press any key to continue.........")
        Catch e As UriFormatException
            Console.WriteLine(ControlChars.Cr + "{0}", e.Message)
            Console.WriteLine(ControlChars.Cr + "The format of the myProxy address you entered is invalid")
         End Try

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1
Return to top