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 ();

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

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

.NET Framework

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

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0