This documentation is archived and is not being maintained.

WebRequest.PreAuthenticate Property

When overridden in a descendant class, indicates whether to pre-authenticate the request.

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

Public Overridable Property PreAuthenticate As Boolean

Property Value

Type: System.Boolean
true to pre-authenticate; otherwise, false.


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

With the exception of the first request, the PreAuthenticate property indicates whether to send authentication information with subsequent requests without waiting to be challenged by the server. When PreAuthenticate is false, the WebRequest waits for an authentication challenge before sending authentication information.


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 sets the PreAuthenticate property to true so that the NetworkCredential stored in the Credentials property will be sent to along with the resource request.

            ' Create a new webrequest to the mentioned URL.
            Dim myWebRequest As WebRequest = WebRequest.Create(url)

            ' Set 'Preauthenticate'  property to true.
            myWebRequest.PreAuthenticate = True
            Console.WriteLine(ControlChars.Cr + "Please Enter ur credentials for the requested Url")
            Dim UserName As String = Console.ReadLine()
            Dim Password As String = Console.ReadLine()

            ' Create a New 'NetworkCredential' object.
            Dim networkCredential As New NetworkCredential(UserName, Password)

            ' Associate the 'NetworkCredential' object with the 'WebRequest' object.
            myWebRequest.Credentials = networkCredential

            ' Assign the response object of 'WebRequest' to a 'WebResponse' variable.
            Dim myWebResponse As WebResponse = myWebRequest.GetResponse()

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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