WebRequest Class

Definición

Realiza una solicitud a un identificador uniforme de recursos (URI). Makes a request to a Uniform Resource Identifier (URI). Esta es una clase abstract. This is an abstract class.

public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
Herencia
Derivado
Implementaciones

Ejemplos

El ejemplo siguiente muestra cómo crear un WebRequest de instancia y devolver la respuesta.The following example shows how to create a WebRequest instance and return the response.

#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Net;
using namespace System::Text;
int main()
{
   
   // Create a request for the URL.   
   WebRequest^ request = WebRequest::Create( "http://www.contoso.com/default.html" );
   
   // If required by the server, set the credentials.
   request->Credentials = CredentialCache::DefaultCredentials;
   
   // Get the response.
   HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());
   
   // Display the status.
   Console::WriteLine( response->StatusDescription );
   
   // Get the stream containing content returned by the server.
   Stream^ dataStream = response->GetResponseStream();
   
   // Open the stream using a StreamReader for easy access.
   StreamReader^ reader = gcnew StreamReader( dataStream );
   
   // Read the content.
   String^ responseFromServer = reader->ReadToEnd();
   
   // Display the content.
   Console::WriteLine( responseFromServer );
   
   // Cleanup the streams and the response.
   reader->Close();
   dataStream->Close();
   response->Close();
}

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
    public class WebRequestGetExample
    {
        public static void Main ()
        {
            // Create a request for the URL. 		
            WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html");
            // If required by the server, set the credentials.
            request.Credentials = CredentialCache.DefaultCredentials;
            // Get the response.
            HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
            // Display the status.
            Console.WriteLine (response.StatusDescription);
            // Get the stream containing content returned by the server.
            Stream dataStream = response.GetResponseStream ();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader (dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd ();
            // Display the content.
            Console.WriteLine (responseFromServer);
            // Cleanup the streams and the response.
            reader.Close ();
            dataStream.Close ();
            response.Close ();
        }
    }
}
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

Comentarios

WebRequest es el abstract clase base para. Modelo de solicitud/respuesta de la red para tener acceso a datos desde Internet.WebRequest is the abstract base class for .NET's request/response model for accessing data from the Internet. Una aplicación que usa el modelo de solicitud/respuesta puede solicitar datos de Internet de una manera independiente del protocolo, en el que la aplicación trabaja con instancias de la WebRequest mientras que las clases descendientes específicas del protocolo llevan a cabo los detalles de la clase la solicitud.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.

Las solicitudes se envían desde una aplicación a un URI determinado, como una página Web en un servidor.Requests are sent from an application to a particular URI, such as a Web page on a server. El URI determina la clase descendiente adecuada para crear a partir de una lista de WebRequest descendientes registrado para la aplicación.The URI determines the proper descendant class to create from a list of WebRequest descendants registered for the application. WebRequest los descendientes se registran normalmente para controlar un protocolo específico, como HTTP o FTP, pero se pueden registrar para controlar una solicitud a un servidor específico o una ruta de acceso en un servidor.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.

El WebRequest clase produce una WebException cuando se producen errores al obtener acceso a un recurso de Internet.The WebRequest class throws a WebException when errors occur while accessing an Internet resource. El Status propiedad es uno de los WebExceptionStatus valores que indica el origen del error.The Status property is one of the WebExceptionStatus values that indicates the source of the error. Cuando Status es WebExceptionStatus.ProtocolError, Response propiedad contiene el WebResponse recibidos del recurso de Internet.When Status is WebExceptionStatus.ProtocolError, the Response property contains the WebResponse received from the Internet resource.

Dado que el WebRequest clase es un abstract clase, el comportamiento real de WebRequest instancias en tiempo de ejecución viene determinada por la clase descendiente, devuelve Create método.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 Create method. Para obtener más información acerca de los valores predeterminados y las excepciones, consulte la documentación de las clases descendientes, como HttpWebRequest y FileWebRequest.For more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest and FileWebRequest.

Nota

Use la Create método para inicializar nuevas WebRequest instancias.Use the Create method to initialize new WebRequest instances. No utilice el WebRequest constructor.Do not use the WebRequest constructor.

Nota

Si se ejecuta la aplicación que crea el objeto WebRequest con las credenciales de un usuario Normal, la aplicación no podrá tener acceso a los certificados instalados en el almacén del equipo local, a menos que el usuario tenga permiso explícitamente para hacerlo.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.

Notas a los desarrolladores de herederos

Al heredar de WebRequest, debe reemplazar los miembros siguientes: Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult) , GetResponse(), BeginGetResponse(AsyncCallback, Object), y EndGetResponse(IAsyncResult). Además, debe proporcionar una implementación de la IWebRequestCreate interfaz, que define el Create(Uri) método que se utiliza cuando se llama a Create(Uri). Debe registrar la clase que implementa el IWebRequestCreate interfaz, mediante el RegisterPrefix(String, IWebRequestCreate) método o el archivo de configuración.

When you inherit from WebRequest, you must override the following members: Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult), GetResponse(), BeginGetResponse(AsyncCallback, Object), and EndGetResponse(IAsyncResult). In addition, you must provide an implementation of the IWebRequestCreate interface, which defines the Create(Uri) method used when you call Create(Uri). You must register the class that implements the IWebRequestCreate interface, using the RegisterPrefix(String, IWebRequestCreate) method or the configuration file.

Constructores

WebRequest()

Inicializa una nueva instancia de la clase WebRequest. Initializes a new instance of the WebRequest class.

WebRequest(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase WebRequest desde las instancias especificadas de las clases SerializationInfo y StreamingContext. Initializes a new instance of the WebRequest class from the specified instances of the SerializationInfo and StreamingContext classes.

Propiedades

AuthenticationLevel

Obtiene o establece valores que indican el nivel de autenticación y de suplantación utilizados para esta solicitud. Gets or sets values indicating the level of authentication and impersonation used for this request.

CachePolicy

Obtiene o establece la directiva de caché para esta solicitud. Gets or sets the cache policy for this request.

ConnectionGroupName

Cuando se reemplaza en una clase descendiente, obtiene o establece el nombre del grupo de conexiones para la solicitud. When overridden in a descendant class, gets or sets the name of the connection group for the request.

ContentLength

Cuando se reemplaza en una clase descendiente, obtiene o establece la longitud del contenido de los datos solicitados que se envían. When overridden in a descendant class, gets or sets the content length of the request data being sent.

ContentType

Cuando se reemplaza en una clase descendiente, obtiene o establece el tipo de contenido de los datos solicitados que se envían. When overridden in a descendant class, gets or sets the content type of the request data being sent.

CreatorInstance

Cuando se reemplaza en una clase descendiente, obtiene el objeto generador derivado de la clase IWebRequestCreate usada para crear la instancia de WebRequest para efectuar la solicitud al URI especificado. 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

Cuando se reemplaza en una clase descendiente, obtiene o establece las credenciales de red utilizadas para autenticar la solicitud con el recurso de Internet. When overridden in a descendant class, gets or sets the network credentials used for authenticating the request with the Internet resource.

DefaultCachePolicy

Obtiene o establece la directiva de caché predeterminada para esta solicitud. Gets or sets the default cache policy for this request.

DefaultWebProxy

Obtiene o establece el proxy HTTP global. Gets or sets the global HTTP proxy.

Headers

Cuando se reemplaza en una clase descendiente, obtiene o establece la colección de pares de nombre/valor de encabezado asociados a la solicitud. When overridden in a descendant class, gets or sets the collection of header name/value pairs associated with the request.

ImpersonationLevel

Obtiene o establece el nivel de suplantación para la solicitud actual. Gets or sets the impersonation level for the current request.

Method

Cuando se reemplaza en una clase descendiente, obtiene o establece el método de protocolo que se va a utilizar en esta solicitud. When overridden in a descendant class, gets or sets the protocol method to use in this request.

PreAuthenticate

Cuando se reemplaza en una clase descendiente, indica si se va a realizar la autenticación previa de la solicitud. When overridden in a descendant class, indicates whether to pre-authenticate the request.

Proxy

Cuando se reemplaza en una clase descendiente, obtiene o establece el proxy de red que se va a utilizar para tener acceso a este recurso de Internet. When overridden in a descendant class, gets or sets the network proxy to use to access this Internet resource.

RequestUri

Cuando se reemplaza en una clase descendiente, obtiene el identificador URI del recurso de Internet asociado a la solicitud. When overridden in a descendant class, gets the URI of the Internet resource associated with the request.

Timeout

Obtiene o establece el tiempo, en milisegundos, antes de que se agoten los tiempos de espera de la solicitud. Gets or sets the length of time, in milliseconds, before the request times out.

UseDefaultCredentials

Cuando se reemplaza en una clase descendiente, obtiene o establece un valor Boolean que controla si se envían DefaultCredentials con las solicitudes. When overridden in a descendant class, gets or sets a Boolean value that controls whether DefaultCredentials are sent with requests.

Métodos

Abort()

Anula la solicitud. Aborts the request.

BeginGetRequestStream(AsyncCallback, Object)

Cuando se reemplaza en una clase descendiente, proporciona una versión asincrónica del método GetRequestStream(). When overridden in a descendant class, provides an asynchronous version of the GetRequestStream() method.

BeginGetResponse(AsyncCallback, Object)

Cuando se reemplaza en una clase descendiente, comienza una solicitud asincrónica de un recurso de Internet. When overridden in a descendant class, begins an asynchronous request for an Internet resource.

Create(String)

Inicializa una nueva instancia de WebRequest para el esquema URI especificado. Initializes a new WebRequest instance for the specified URI scheme.

Create(Uri)

Inicializa una nueva instancia de WebRequest para el esquema URI especificado. Initializes a new WebRequest instance for the specified URI scheme.

CreateDefault(Uri)

Inicializa una nueva instancia de WebRequest para el esquema URI especificado. Initializes a new WebRequest instance for the specified URI scheme.

CreateHttp(String)

Inicializa una nueva instancia de HttpWebRequest para la cadena de URI especificada. Initializes a new HttpWebRequest instance for the specified URI string.

CreateHttp(Uri)

Inicializa una nueva instancia de HttpWebRequest para el URI especificado. Initializes a new HttpWebRequest instance for the specified URI.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Cuando se reemplaza en una clase descendiente, devuelve Stream para escribir datos en el recurso de Internet. When overridden in a descendant class, returns a Stream for writing data to the Internet resource.

EndGetResponse(IAsyncResult)

Cuando se reemplaza en una clase descendiente, devuelve WebResponse. When overridden in a descendant class, returns a WebResponse.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual. Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Sirve como la función hash predeterminada. Serves as the default hash function.

(Inherited from Object)
GetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Llena SerializationInfo con los datos necesarios para serializar el objeto de destino. Populates a SerializationInfo with the data needed to serialize the target object.

GetRequestStream()

Cuando se reemplaza en una clase descendiente, devuelve Stream para escribir datos en el recurso de Internet. When overridden in a descendant class, returns a Stream for writing data to the Internet resource.

GetRequestStreamAsync()

Cuando se invalida en una clase descendiente, devuelve un objeto Stream para escribir datos en el recurso de Internet como una operación asincrónica. When overridden in a descendant class, returns a Stream for writing data to the Internet resource as an asynchronous operation.

GetResponse()

Cuando se reemplaza en una clase descendiente, devuelve una respuesta a una solicitud de Internet. When overridden in a descendant class, returns a response to an Internet request.

GetResponseAsync()

Cuando se invalida en una clase descendiente, devuelve una respuesta a una solicitud de Internet como una operación asincrónica. When overridden in a descendant class, returns a response to an Internet request as an asynchronous operation.

GetSystemWebProxy()

Devuelve un servidor proxy configurado con la configuración de Internet Explorer del usuario actualmente suplantado. Returns a proxy configured with the Internet Explorer settings of the currently impersonated user.

GetType()

Obtiene el Type de la instancia actual. Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual. Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual. Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)

Registra un objeto IWebRequestCreate. Register an IWebRequestCreate object.

RegisterPrefix(String, IWebRequestCreate)

Registra un descendiente WebRequest para el identificador URI especificado. Registers a WebRequest descendant for the specified URI.

ToString()

Devuelve una cadena que representa el objeto actual. Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Cuando se reemplaza en una clase descendiente, rellena una instancia de SerializationInfo con los datos necesarios para serializar el objeto WebRequest. When overridden in a descendant class, populates a SerializationInfo instance with the data needed to serialize the WebRequest.

Seguridad

WebPermission
Para obtener acceso al URI solicitado o cualquier URI que se redirige la solicitud. To access the requested URI or any URI that the request is redirected to. Enumeración asociada: Connect. Associated enumeration: Connect.

Se aplica a

Consultar también