This documentation is archived and is not being maintained.

WebRequest.RequestUri Property

When overridden in a descendant class, gets the URI of the Internet resource associated with the request.

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

public virtual Uri RequestUri { get; }

Property Value

Type: System.Uri
A Uri representing the resource associated with the request


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

When overridden in a descendant class, the RequestUri property contains the Uri instance that Create method uses to create the request.


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.

Notes to Inheritors

RequestUri must contain the original Uri instance passed to the Create method. If the protocol is able to redirect the request to a different URI to service the request, the descendant must provide a property to contain the URI that actually services the request

The following example checks the RequestUri property to determine the site originally requested.

			// Create a new WebRequest Object to the mentioned URL.
			WebRequest myWebRequest=WebRequest.Create("");
			Console.WriteLine("\nThe Uri that was requested is {0}",myWebRequest.RequestUri);
			// Assign the response object of 'WebRequest' to a 'WebResponse' variable.
			WebResponse myWebResponse=myWebRequest.GetResponse();
			// Get the stream containing content returned by the server.
			Stream streamResponse=myWebResponse.GetResponseStream();
			Console.WriteLine("\nThe Uri that responded to the WebRequest is '{0}'",myWebResponse.ResponseUri);
      StreamReader reader = new StreamReader (streamResponse);
			// Read the content.
      string responseFromServer = reader.ReadToEnd ();
      // Display the content.
      Console.WriteLine("\nThe HTML Contents received:");
      Console.WriteLine (responseFromServer);
      // Cleanup the streams and the response.
      reader.Close ();
      streamResponse.Close ();
      myWebResponse.Close ();

.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

Portable Class Library

Supported in: Portable Class Library

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.