This documentation is archived and is not being maintained.

WebRequest.Create Method (String)

Initializes a new WebRequest instance for the specified URI scheme.

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

public static WebRequest Create(
	string requestUriString


Type: System.String
The URI that identifies the Internet resource.

Return Value

Type: System.Net.WebRequest
A WebRequest descendant for the specific URI scheme.


The request scheme specified in requestUriString has not been registered.


requestUriString is null.


The caller does not have permission to connect to the requested URI or a URI that the request is redirected to.


The URI specified in requestUriString is not a valid URI.

The Create method returns a descendant of the WebRequest class determined at run time as the closest registered match for requestUri.

For example, when a URI beginning with http:// or https:// is passed in requestUri, an HttpWebRequest is returned by Create. If a URI beginning with ftp:// is passed instead, the Create method will return a FileWebRequest instance. If a URI beginning with file:// is passed instead, the Create method will return a FileWebRequest instance.

The pre-registered reserve types already registered include the following:

  • http://

  • https://

  • ftp://

  • file://

The .NET Framework includes support for the http://, https://, ftp://, and file:// URI schemes. Custom WebRequest descendants to handle other requests are registered with the RegisterPrefix method.

The Create method uses the requestUriString parameter to create a Uri instance that it passes to the new WebRequest.


This member outputs trace information when you enable network tracing in your application. For more information, see Network Tracing.

The following example uses Create to instantiate an HttpWebRequest instance. A string representing the target URL is used as the constructor parameter.

			Uri ourUri = new Uri(url);            

			// Create a 'WebRequest' object with the specified url. 
			WebRequest myWebRequest = WebRequest.Create(url); 

			// Send the 'WebRequest' and wait for response.
			WebResponse myWebResponse = myWebRequest.GetResponse(); 
			// Use "ResponseUri" property to get the actual Uri from where the response was attained.
			if (ourUri.Equals(myWebResponse.ResponseUri))
				Console.WriteLine("\nRequest Url : {0} was not redirected",url);   
				Console.WriteLine("\nRequest Url : {0} was redirected to {1}",url,myWebResponse.ResponseUri);   
			// Release resources of response object.

.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.