WebRequest WebRequest WebRequest 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 ref class WebRequest abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
[System.Serializable]
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type WebRequest = class
    inherit MarshalByRefObject
    interface ISerializable
Public MustInherit Class WebRequest
Inherits MarshalByRefObject
Implements ISerializable
Herencia
Derivado
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo crear WebRequest una instancia de 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.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
    End Class 'WebRequestGetExample
End Namespace

Comentarios

Importante

No se recomienda usar WebRequest ni sus clases derivadas para el nuevo desarrollo.We don't recommend that you use WebRequest or its derived classes for new development. En su lugar, use System.Net.Http.HttpClient la clase.Instead, use the System.Net.Http.HttpClient class.

WebRequestes la abstract clase base para. Modelo de solicitud/respuesta de la red para tener acceso a los datos de 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 la que la aplicación trabaja con instancias de WebRequest la clase mientras que las clases descendientes específicas del protocolo llevan a cabo los detalles de 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 que se va a crear a WebRequest partir de una lista de descendientes registrados para la aplicación.The URI determines the proper descendant class to create from a list of WebRequest descendants registered for the application. WebRequestlos 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 o ruta de acceso específicos 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.

La WebRequest clase produce una WebException excepción cuando se producen errores al tener acceso a un recurso de Internet.The WebRequest class throws a WebException when errors occur while accessing an Internet resource. La Status propiedad es uno de los WebExceptionStatus valores de 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, WebResponse la Response propiedad contiene el recibido del recurso de Internet.When Status is WebExceptionStatus.ProtocolError, the Response property contains the WebResponse received from the Internet resource.

Dado que WebRequest la clase es abstract una clase, el comportamiento real WebRequest de las instancias en tiempo de ejecución viene determinado por la clase Create descendiente devuelta por el 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 sobre los valores predeterminados y las excepciones, vea la documentación de las HttpWebRequest clases FileWebRequestdescendientes, como y.For more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest and FileWebRequest.

Nota

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

Nota

Si la aplicación que crea el objeto WebRequest se ejecuta con las credenciales de un usuario normal, la aplicación no podrá tener acceso a los certificados instalados en el almacén de la máquina local a menos que el permiso se haya dado explícitamente al usuario para que lo haga.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)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). Además, debe proporcionar una implementación de la IWebRequestCreate interfaz, que define el Create(Uri) método que se usa al llamar a Create(Uri).In addition, you must provide an implementation of the IWebRequestCreate interface, which defines the Create(Uri) method used when you call Create(Uri). Debe registrar la clase que implementa la IWebRequestCreate interfaz mediante el RegisterPrefix(String, IWebRequestCreate) método o el archivo de configuración.You must register the class that implements the IWebRequestCreate interface, using the RegisterPrefix(String, IWebRequestCreate) method or the configuration file.

Constructores

WebRequest() WebRequest() WebRequest() WebRequest()

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

WebRequest(SerializationInfo, StreamingContext) WebRequest(SerializationInfo, StreamingContext) WebRequest(SerializationInfo, StreamingContext) 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 AuthenticationLevel AuthenticationLevel 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 CachePolicy CachePolicy CachePolicy

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

ConnectionGroupName ConnectionGroupName ConnectionGroupName 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 ContentLength ContentLength 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 ContentType ContentType 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 CreatorInstance CreatorInstance 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 Credentials Credentials 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 DefaultCachePolicy DefaultCachePolicy DefaultCachePolicy

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

DefaultWebProxy DefaultWebProxy DefaultWebProxy DefaultWebProxy

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

Headers Headers Headers 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 ImpersonationLevel ImpersonationLevel ImpersonationLevel

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

Method Method Method 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 PreAuthenticate PreAuthenticate 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 Proxy Proxy 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 RequestUri RequestUri 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 Timeout Timeout 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 UseDefaultCredentials UseDefaultCredentials 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() Abort() Abort() Abort()

Anula la solicitud.Aborts the request.

BeginGetRequestStream(AsyncCallback, Object) BeginGetRequestStream(AsyncCallback, Object) BeginGetRequestStream(AsyncCallback, Object) 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) BeginGetResponse(AsyncCallback, Object) BeginGetResponse(AsyncCallback, Object) 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) Create(String) Create(String) 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) Create(Uri) Create(Uri) 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) CreateDefault(Uri) CreateDefault(Uri) 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) CreateHttp(String) CreateHttp(String) 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) CreateHttp(Uri) CreateHttp(Uri) CreateHttp(Uri)

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

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) 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) EndGetRequestStream(IAsyncResult) EndGetRequestStream(IAsyncResult) 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) EndGetResponse(IAsyncResult) EndGetResponse(IAsyncResult) EndGetResponse(IAsyncResult)

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

Equals(Object) Equals(Object) Equals(Object) 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() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() 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) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) 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() GetRequestStream() GetRequestStream() 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() GetRequestStreamAsync() GetRequestStreamAsync() 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() GetResponse() GetResponse() 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() GetResponseAsync() GetResponseAsync() 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() GetSystemWebProxy() GetSystemWebProxy() 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() GetType() GetType() GetType()

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

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() 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() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

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

(Inherited from MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate) RegisterPortableWebRequestCreator(IWebRequestCreate) RegisterPortableWebRequestCreator(IWebRequestCreate) RegisterPortableWebRequestCreator(IWebRequestCreate)

Registra un objeto IWebRequestCreate.Register an IWebRequestCreate object.

RegisterPrefix(String, IWebRequestCreate) RegisterPrefix(String, IWebRequestCreate) RegisterPrefix(String, IWebRequestCreate) RegisterPrefix(String, IWebRequestCreate)

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

ToString() ToString() ToString() 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) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) 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 tener acceso al URI solicitado o a cualquier URI al 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

Consulte también: