HttpWebRequest.ProtocolVersion Property

Gets or sets the version of HTTP to use for the request.

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

Public Property ProtocolVersion As Version
Dim instance As HttpWebRequest
Dim value As Version

value = instance.ProtocolVersion

instance.ProtocolVersion = value
/** @property */
public Version get_ProtocolVersion ()

/** @property */
public void set_ProtocolVersion (Version value)

public function get ProtocolVersion () : Version

public function set ProtocolVersion (value : Version)

Property Value

The HTTP version to use for the request. The default is HttpVersion.Version11.

Exception typeCondition


The HTTP version is set to a value other than 1.0 or 1.1.

The HttpWebRequest class supports only versions 1.0 and 1.1 of HTTP. Setting ProtocolVersion to a different version throws an exception.


To set the HTTP version of the current request, use the Version10 and Version11 fields of the HttpVersion class.

The following code example sets the ProtocolVersion Property.

' Create a new 'HttpWebRequest' Object to the mentioned URL.
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(""), HttpWebRequest)
' Use the existing 'ProtocolVersion' , and display it onto the console.    
Console.WriteLine(ControlChars.Cr + "The 'ProtocolVersion' of the protocol used is {0}", myHttpWebRequest.ProtocolVersion)
' Set the 'ProtocolVersion' property of the 'HttpWebRequest' to 'Version1.0' .
myHttpWebRequest.ProtocolVersion = HttpVersion.Version10
'  Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Console.WriteLine(ControlChars.Cr + "The 'ProtocolVersion' of the protocol changed to {0}", myHttpWebRequest.ProtocolVersion)
Console.WriteLine(ControlChars.Cr + "The protocol version of the response object is {0}", myHttpWebResponse.ProtocolVersion)

// Create a new 'HttpWebRequest' Object to the mentioned URL.
HttpWebRequest myHttpWebRequest = (HttpWebRequest)

// Use the existing 'ProtocolVersion' , and display it onto 
// the console.
Console.WriteLine("\nThe 'ProtocolVersion' of the "
    +"protocol used is {0}",

// Set the 'ProtocolVersion' property of the 'HttpWebRequest' to
// 'Version1.0'.

// Assign the response object of 'HttpWebRequest' to a 
// 'HttpWebResponse' variable.
HttpWebResponse myHttpWebResponse = (HttpWebResponse)
Console.WriteLine("\nThe 'ProtocolVersion' of the protocol"
    +" changed to {0}", myHttpWebRequest.get_ProtocolVersion());
Console.WriteLine("\nThe protocol version of the response object"
    +" is {0}", myHttpWebResponse.get_ProtocolVersion());

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