Esta documentación está archivada y no tiene mantenimiento.

HttpWebRequest (Clase)

Proporciona una implementación específica de HTTP de la clase WebRequest.

Espacio de nombres: System.Net
Ensamblado: System (en system.dll)

[SerializableAttribute] 
public class HttpWebRequest : WebRequest, ISerializable
/** @attribute SerializableAttribute() */ 
public class HttpWebRequest extends WebRequest implements ISerializable
SerializableAttribute 
public class HttpWebRequest extends WebRequest implements ISerializable

La clase HttpWebRequest hace que se admitan las propiedades y los métodos definidos en WebRequest y que las propiedades y los métodos adicionales permitan al usuario interactuar directamente con servidores que utilicen HTTP.

No utilice el constructor HttpWebRequest. Utilice el método System.Net.WebRequest.Create para inicializar nuevos objetos HttpWebRequest. Si el esquema para el identificador URI es http:// o https://, Create devuelve un objeto HttpWebRequest.

El método GetResponse realiza una solicitud sincrónica al recurso especificado en la propiedad RequestUri y devuelve un objeto HttpWebResponse con la respuesta. Para realizar una solicitud asincrónica al recurso, utilice los métodos BeginGetResponse y EndGetResponse.

Si desea enviar datos al recurso, el método GetRequestStream devuelve un objeto Stream que se utiliza para enviar datos. Los métodos BeginGetRequestStream y EndGetRequestStream proporcionan acceso asincrónico a la secuencia de datos de envío.

Para la autenticación del cliente con HttpWebRequest, se debe instalar el certificado del cliente en el almacén de certificados My del usuario actual.

La clase HttpWebRequest produce una excepción WebException cuando se producen errores en el acceso a un recurso. La propiedad WebException.Status contiene un valor WebExceptionStatus que indica el origen del error. Si WebException.Status es WebExceptionStatus.ProtocolError, la propiedad Response contiene el valor de HttpWebResponse recibido del recurso.

HttpWebRequest expone valores de encabezado HTTP comunes enviados al recurso de Internet como propiedades. Dichos valores se encuentran establecidos por métodos o por el sistema. En la tabla siguiente se presenta una lista completa. Es posible establecer otros encabezados en la propiedad Headers como pares nombre/valor. Tenga en cuenta que los servidores y cachés pueden cambiar o agregar encabezados durante la solicitud.

En la tabla siguiente se muestran los encabezados HTTP establecidos por propiedades o métodos, o por el sistema.

Encabezado

Establecido por

Accept

La propiedad Accept.

Connection

Las propiedades Connection y KeepAlive.

Content-Length

La propiedad ContentLength.

Content-Type

La propiedad ContentType.

Expect

La propiedad Expect.

Date

El sistema con la fecha actual.

Host

El sistema con la información de host actual.

If-Modified-Since

La propiedad IfModifiedSince.

Range

El método AddRange.

Referer

La propiedad Referer.

Transfer-Encoding

Establecido por la propiedad TransferEncoding (la propiedad SendChunked debe ser true).

User-Agent

La propiedad UserAgent.

NotaNota

HttpWebRequest se registra automáticamente. No es necesario llamar al método RegisterPrefix para registrar System.Net.HttpWebRequest antes de usar identificadores URI que comiencen con http:// o https://.

Si la configuración del equipo local especifica que se utilice un servidor proxy, o si la solicitud especifica un servidor proxy, la solicitud se envía utilizando el servidor proxy. Si no se especifica un servidor proxy, la solicitud se envía al servidor.

NotaNota

El Framework almacena en caché las sesiones de SSL a medida que se crean, e intenta reutilizar una sesión almacenada en memoria caché para una nueva solicitud, si es posible. Si intenta reutilizar una sesión de SSL, el Framework utiliza el primer elemento de ClientCertificates (si existe) o intenta reutilizar una sesión anónima si el valor de ClientCertificates está vacío.

NotaNota

Por razones de seguridad, de manera predeterminada las cookies están deshabilitadas. Si desea utilizar cookies, habilítelas mediante la propiedad CookieContainer.

En el ejemplo de código siguiente se crea un objeto HttpWebRequest para el identificador URI http://www.contoso.com/.


HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");


HttpWebRequest myReq =
    ((HttpWebRequest)(WebRequest.Create("http://www.contoso.com/")));


var myReq : HttpWebRequest = HttpWebRequest(WebRequest.Create("http://www.contoso.com/"))


  • WebPermission  para obtener acceso al URI solicitado o a cualquier URI al que la solicitud haya sido redirigida. Enumeración asociada: Connect.

System.Object
   System.MarshalByRefObject
     System.Net.WebRequest
      System.Net.HttpWebRequest

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
Mostrar: