HttpWebRequest::ProtocolVersion Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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

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

property Version^ ProtocolVersion {
	Version^ get();
	void set(Version^ value);

Property Value

Type: System::Version^

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

Exception Condition

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.
HttpWebRequest^ myHttpWebRequest = (HttpWebRequest^)( WebRequest::Create( "" ) );
// Use the existing 'ProtocolVersion' , and display it onto the console.
Console::WriteLine( "\nThe '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.
HttpWebResponse^ myHttpWebResponse = (HttpWebResponse^)( myHttpWebRequest->GetResponse() );
Console::WriteLine( "\nThe 'ProtocolVersion' of the protocol changed to {0}", myHttpWebRequest->ProtocolVersion );
Console::WriteLine( "\nThe protocol version of the response Object* is {0}", myHttpWebResponse->ProtocolVersion );

.NET Framework
Available since 1.1
Return to top