WebRequest Clase

Definición

Realiza una solicitud a un identificador uniforme de recursos (URI). Esta es 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 WebRequest instancia 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

Importante

No use WebRequest ni sus clases derivadas para el desarrollo nuevo. En su lugar, use la System.Net.Http.HttpClient clase .

WebRequest es la abstract clase base de . Modelo de solicitud/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 WebRequest clase 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 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 ruta de acceso en un servidor.

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

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

Nota

Use el Create método para inicializar nuevas WebRequest instancias. No use el 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á acceder a los certificados instalados en el almacén de máquinas locales a menos que se haya concedido explícitamente permiso al usuario para hacerlo.

Notas a los implementadores

Cuando hereda de WebRequest, debe invalidar los siguientes miembros: Method, RequestUri, HeadersContentLength, , ContentType, Credentials, PreAuthenticateEndGetRequestStream(IAsyncResult)BeginGetRequestStream(AsyncCallback, Object)GetResponse()GetRequestStream()BeginGetResponse(AsyncCallback, Object)y .EndGetResponse(IAsyncResult) Además, debe proporcionar una implementación de la IWebRequestCreate interfaz , que define el Create(Uri) método usado al llamar a Create(Uri). Debe registrar la clase que implementa la IWebRequestCreate interfaz mediante el RegisterPrefix(String, IWebRequestCreate) método 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 desde las instancias especificadas de las clases SerializationInfo y StreamingContext.

Propiedades

AuthenticationLevel

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

CachePolicy

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

ConnectionGroupName

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

ContentLength

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

ContentType

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

CreatorInstance
Obsoletos.

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.

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.

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/valor de encabezado asociados a la solicitud.

ImpersonationLevel

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

Method

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

PreAuthenticate

Cuando se reemplaza en una clase descendiente, indica si se va a realizar la autenticación previa de la solicitud.

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.

RequestUri

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

Timeout

Obtiene o establece el tiempo, en milisegundos, antes de que se agoten los tiempos de espera de la solicitud.

UseDefaultCredentials

Cuando se reemplaza en una clase descendiente, obtiene o establece un valor Boolean que controla si se envían DefaultCredentials con las 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 reemplaza en una clase descendiente, comienza una solicitud asincrónica de un recurso de Internet.

Create(String)
Obsoletos.

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

Create(Uri)
Obsoletos.

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

CreateDefault(Uri)
Obsoletos.

Inicializa una nueva instancia de WebRequest para el esquema 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 relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

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

EndGetResponse(IAsyncResult)

Cuando se reemplaza en una clase descendiente, devuelve WebResponse.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la 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.

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

GetRequestStream()

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

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.

GetResponse()

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

GetResponseAsync()

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

GetSystemWebProxy()

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

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 Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)
Obsoletos.

Registra un objeto IWebRequestCreate.

RegisterPrefix(String, IWebRequestCreate)

Registra un descendiente WebRequest para el identificador 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 objeto WebRequest.

Se aplica a

Consulte también