Compartir vía


WebRequest Clase

Definición

Realiza una solicitud a un identificador uniforme de recursos (URI). Se trata de una clase abstract.

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

Ejemplos

En el ejemplo siguiente se muestra cómo crear una instancia de WebRequest y devolver la respuesta.

#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
End Namespace

Comentarios

Cautela

WebRequest, HttpWebRequest, ServicePointy WebClient están obsoletos y no debe usarlos para el nuevo desarrollo. Use HttpClient en su lugar.

WebRequest es la clase base abstract para . Modelo de solicitud y respuesta de NET para acceder a datos desde 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 funciona con instancias de la clase WebRequest mientras las clases descendientes específicas del protocolo llevan a cabo los detalles de la solicitud.

Las solicitudes se envían desde una aplicación a un URI determinado, como una página web en un servidor. El URI determina la clase descendiente adecuada que se va a crear a partir de una lista de WebRequest descendientes registrados para la aplicación. WebRequest descendientes normalmente se registran para controlar un protocolo específico, como HTTP o FTP, pero se pueden registrar para controlar una solicitud a un servidor específico o ruta de acceso en un servidor.

La clase WebRequest produce un WebException cuando se producen errores al acceder a un recurso de Internet. La propiedad Status es uno de los valores de WebExceptionStatus que indica el origen del error. Cuando Status es WebExceptionStatus.ProtocolError, la propiedad Response contiene el WebResponse recibido del recurso de Internet.

Dado que la clase WebRequest es una clase abstract, el comportamiento real de las instancias de WebRequest en tiempo de ejecución viene determinado por la clase descendiente devuelta por Create método. Para obtener más información sobre los valores predeterminados y las excepciones, consulte la documentación de las clases descendientes, como HttpWebRequest y FileWebRequest.

Nota

Use el método Create para inicializar nuevas instancias de WebRequest. No use el constructor WebRequest.

Nota

Si la aplicación que crea el objeto WebRequest se ejecuta con las credenciales de un usuario Normal, la aplicación no podrá acceder a los certificados instalados en el almacén de máquinas locales a menos que se le haya concedido permiso explícitamente al usuario para hacerlo.

Notas a los implementadores

Al heredar de WebRequest, debe invalidar los siguientes miembros: 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 interfaz IWebRequestCreate, que define el método Create(Uri) usado al llamar a Create(Uri). Debe registrar la clase que implementa la interfaz IWebRequestCreate mediante el método RegisterPrefix(String, IWebRequestCreate) o el archivo de configuración.

Constructores

WebRequest()
Obsoletos.

Inicializa una nueva instancia de la clase WebRequest.

WebRequest(SerializationInfo, StreamingContext)
Obsoletos.

Inicializa una nueva instancia de la clase WebRequest a partir de las instancias especificadas de las clases SerializationInfo y StreamingContext especificadas.

Propiedades

AuthenticationLevel

Obtiene o establece valores que indican el nivel de autenticación y suplantación que se usa para esta solicitud.

CachePolicy

Obtiene o establece la directiva de caché para esta solicitud.

ConnectionGroupName

Cuando se invalida en una clase descendiente, obtiene o establece el nombre del grupo de conexiones para la solicitud.

ContentLength

Cuando se invalida en una clase descendiente, obtiene o establece la longitud de contenido de los datos de solicitud que se envían.

ContentType

Cuando se reemplaza en una clase descendiente, obtiene o establece el tipo de contenido de los datos de solicitud que se envían.

CreatorInstance
Obsoletos.

Cuando se reemplaza en una clase descendiente, obtiene el objeto de fábrica derivado de la clase IWebRequestCreate utilizada para crear la WebRequest creada para realizar la solicitud en el URI especificado.

Credentials

Cuando se reemplaza en una clase descendiente, obtiene o establece las credenciales de red usadas para autenticar la solicitud con el recurso de Internet.

DefaultCachePolicy

Obtiene o establece la directiva de caché predeterminada para esta solicitud.

DefaultWebProxy

Obtiene o establece el proxy HTTP global.

Headers

Cuando se reemplaza en una clase descendiente, obtiene o establece la colección de pares de nombre y valor de encabezado asociados a la solicitud.

ImpersonationLevel

Obtiene o establece el nivel de suplantación de la solicitud actual.

Method

Cuando se invalida en una clase descendiente, obtiene o establece el método de protocolo que se va a usar en esta solicitud.

PreAuthenticate

Cuando se invalida en una clase descendiente, indica si se debe autenticar previamente la solicitud.

Proxy

Cuando se invalida en una clase descendiente, obtiene o establece el proxy de red que se usará para acceder a este recurso de Internet.

RequestUri

Cuando se invalida en una clase descendiente, obtiene el URI del recurso de Internet asociado a la solicitud.

Timeout

Obtiene o establece el período de tiempo, en milisegundos, antes de que se agote el tiempo de espera de la solicitud.

UseDefaultCredentials

Cuando se reemplaza en una clase descendiente, obtiene o establece un valor de Boolean que controla si DefaultCredentials se envían con solicitudes.

Métodos

Abort()

Anula la solicitud.

BeginGetRequestStream(AsyncCallback, Object)

Cuando se reemplaza en una clase descendiente, proporciona una versión asincrónica del método GetRequestStream().

BeginGetResponse(AsyncCallback, Object)

Cuando se invalida en una clase descendiente, comienza una solicitud asincrónica para un recurso de Internet.

Create(String)
Obsoletos.

Inicializa una nueva instancia de WebRequest para el esquema de URI especificado.

Create(Uri)
Obsoletos.

Inicializa una nueva instancia de WebRequest para el esquema de URI especificado.

CreateDefault(Uri)
Obsoletos.

Inicializa una nueva instancia de WebRequest para el esquema de URI especificado.

CreateHttp(String)
Obsoletos.

Inicializa una nueva instancia de HttpWebRequest para la cadena de URI especificada.

CreateHttp(Uri)
Obsoletos.

Inicializa una nueva instancia de HttpWebRequest para el URI especificado.

CreateObjRef(Type)

Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Cuando se invalida en una clase descendiente, devuelve un Stream para escribir datos en el recurso de Internet.

EndGetResponse(IAsyncResult)

Cuando se reemplaza en una clase descendiente, devuelve un WebResponse.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Obsoletos.

Rellena un SerializationInfo con los datos necesarios para serializar el objeto de destino.

GetRequestStream()

Cuando se invalida en una clase descendiente, devuelve un Stream para escribir datos en el recurso de Internet.

GetRequestStreamAsync()

Cuando se invalida en una clase descendiente, devuelve un Stream para escribir datos en el recurso de Internet como una operación asincrónica.

GetResponse()

Cuando se reemplaza en una clase descendiente, devuelve una respuesta a una solicitud de Internet.

GetResponseAsync()

Cuando se reemplaza en una clase descendiente, devuelve una respuesta a una solicitud de Internet como una operación asincrónica.

GetSystemWebProxy()

Devuelve un proxy configurado con la configuración de opciones de Internet del usuario suplantado actualmente.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)
Obsoletos.

Registre un objeto IWebRequestCreate.

RegisterPrefix(String, IWebRequestCreate)

Registra un WebRequest descendiente para el URI especificado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Obsoletos.

Cuando se reemplaza en una clase descendiente, rellena una instancia de SerializationInfo con los datos necesarios para serializar el WebRequest.

Se aplica a

Consulte también