WebRequest Class
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Makes a request to a Uniform Resource Identifier (URI). This is an abstract class.
Inheritance Hierarchy
System..::.Object
System.Net..::.WebRequest
System.Net..::.HttpWebRequest
Namespace: System.Net
Assembly: System.Net (in System.Net.dll)
Syntax
Public MustInherit Class WebRequest
public abstract class WebRequest
The WebRequest type exposes the following members.
Constructors
Name | Description | |
---|---|---|
WebRequest | Initializes a new instance of the WebRequest class. |
Top
Properties
Name | Description | |
---|---|---|
ContentLength | When overridden in a descendant class, gets or sets the content length of the request data being sent. | |
ContentType | When overridden in a descendant class, gets or sets the content type of the request data being sent. | |
CreatorInstance | When overridden in a descendant class, gets the factory object derived from the IWebRequestCreate class used to create the WebRequest instantiated for making the request to the specified URI. | |
Credentials | When overridden in a descendant class, gets or sets the network credentials used for authenticating the request with the Internet resource. | |
Headers | When overridden in a descendant class, gets or sets the collection of header name/value pairs associated with the request. | |
Method | When overridden in a descendant class, gets or sets the protocol method to use in this request. | |
RequestUri | When overridden in a descendant class, gets the URI of the Internet resource associated with the request. | |
UseDefaultCredentials | When overridden in a descendant class, gets or sets a Boolean value that controls whether default credentials are sent with requests. |
Top
Methods
Name | Description | |
---|---|---|
Abort | Aborts the Request. | |
BeginGetRequestStream | When overridden in a descendant class, provides an asynchronous method to request a stream. | |
BeginGetResponse | When overridden in a descendant class, begins an asynchronous request for an Internet resource. | |
Create(String) | Initializes a new WebRequest instance for the specified URI scheme. | |
Create(Uri) | Initializes a new WebRequest instance for the specified URI scheme. | |
CreateHttp(String) | Initializes a new HttpWebRequest instance for the specified URI string. | |
CreateHttp(Uri) | Initializes a new HttpWebRequest instance for the specified URI. | |
EndGetRequestStream | When overridden in a descendant class, returns a Stream for writing data to the Internet resource. | |
EndGetResponse | When overridden in a descendant class, returns a WebResponse. | |
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetRequestStreamAsync | When overridden in a descendant class, returns a Stream for writing data to the Internet resource as an asynchronous operation. | |
GetResponseAsync | When overridden in a descendant class, returns a response to an Internet request as an asynchronous operation. | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
RegisterPrefix | Registers a WebRequest descendant for the specified URI. | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
Extension Methods
Name | Description | |
---|---|---|
GetCurrentNetworkInterface | Gets all available information about the network interface that corresponds to a web request. (Defined by WebRequestExtensions.) | |
SetNetworkPreference | Sets the preference for a web request to use either cellular or non-cellular technology. (Defined by WebRequestExtensions.) | |
SetNetworkRequirement | Sets the requirement for a web request to use either cellular or non-cellular technology. (Defined by WebRequestExtensions.) |
Top
Remarks
WebRequest is the abstract base class for the .NET Framework's request/response model for accessing data from the Internet. An application that uses the request/response model can request data from the Internet in a protocol-agnostic manner, in which the application works with instances of the WebRequest class while protocol-specific descendant classes carry out the details of the request.
Requests are sent from an application to a particular URI, such as a Web page on a server. The URI determines the proper descendant class to create from a list of WebRequest descendants registered for the application. WebRequest descendants are typically registered to handle a specific protocol, such as HTTP or HTTPS, but can be registered to handle a request to a specific server or path on a server.
The WebRequest class throws a WebException when errors occur while accessing an Internet resource. The Status property is one of the WebExceptionStatus values that indicates the source of the error.
When Status is UnknownError, additional details about the protocol specific response error may be available using the Response property. If the Response property is not null, this indicates that the remote server responded with an error code. In this case, the Response property can be queried for more specific information about the response.
Because the WebRequest class is an abstract class, the actual behavior of a WebRequest instance at run time is determined by the descendant class returned by Create method. For more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest.
Note
Use the Create method to initialize new WebRequest instances. Do not use the WebRequest constructor.
Capabilities
If you use this API in your app, you must specify the following capabilities in the app manifest. Otherwise, your app might not work correctly or it might exit unexpectedly.
ID_CAP_NETWORKING |
Windows Phone 8, Windows Phone OS 7.1 |
For more info, see App capabilities and hardware requirements for Windows Phone 8.
Notes to Inheritors
When you inherit from WebRequest, you must override the following members: Method, RequestUri, Headers, ContentType, Credentials, Abort, BeginGetRequestStream, EndGetRequestStream, BeginGetResponse, and EndGetResponse. In addition, you must provide an implementation of the IWebRequestCreate interface, which defines the Create method used when you call Create. You must register the class that implements the IWebRequestCreate interface, using the RegisterPrefix method.
Version Information
Windows Phone OS
Supported in: 8.1, 8.0, 7.1, 7.0
Platforms
Windows Phone
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.