WebRequest Class
Assembly: System (in system.dll)
'Declaration <SerializableAttribute> _ Public MustInherit Class WebRequest Inherits MarshalByRefObject Implements ISerializable 'Usage Dim instance As WebRequest
/** @attribute SerializableAttribute() */ public abstract class WebRequest extends MarshalByRefObject implements ISerializable
SerializableAttribute public abstract class WebRequest extends MarshalByRefObject implements ISerializable
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 FTP, 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 WebException.Status property is one of the WebExceptionStatus values that indicates the source of the error. When WebException.Status is WebExceptionStatus.ProtocolError, the Response property contains the WebResponse received from the Internet resource.
Because the WebRequest class is an abstract class, the actual behavior of WebRequest instances at run time is determined by the descendant class returned by System.Net.WebRequest.Create method. For more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest and FileWebRequest.
Note |
|---|
| Use the Create method to initialize new WebRequest instances. Do not use the WebRequest constructor. |
Note |
|---|
| If the application that creates the WebRequest object runs with the credentials of a Normal user, the application will not be able to access certificates installed in the local machine store unless permission has been explicitly given to the user to do so. |
The following example shows how to create a WebRequest instance and return the response.
Imports System Imports System.IO Imports System.Net Imports System.Text Namespace Examples.System.Net Public Class WebRequestGetExample Public Shared Sub Main() ' Create a request for the URL. Dim request As WebRequest = WebRequest.Create("http://www.contoso.com/default.html") ' If required by the server, set the credentials. request.Credentials = CredentialCache.DefaultCredentials ' Get the response. Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse) ' Display the status. Console.WriteLine(response.StatusDescription) ' Get the stream containing content returned by the server. Dim dataStream As Stream = response.GetResponseStream() ' Open the stream using a StreamReader for easy access. Dim reader As New StreamReader(dataStream) ' Read the content. Dim responseFromServer As String = reader.ReadToEnd() ' Display the content. Console.WriteLine(responseFromServer) ' Cleanup the streams and the response. reader.Close() dataStream.Close() response.Close() End Sub 'Main End Class 'WebRequestGetExample End Namespace
- WebPermission To access the requested URI or any URI that the request is redirected to. Associated enumeration: Connect.
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Note