WebRequest.RequestUri Property


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

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

Exception Condition

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("http://www.contoso.com");
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 ();

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top