Exportar (0) Imprimir
Expandir todo

HttpWebRequest (Clase)

Actualización: noviembre 2007

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

8y7x3zz2.alert_note(es-es,VS.90).gifNota:

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://.

El archivo de configuración de la aplicación o el equipo local puede especificar que se use un proxy predeterminado. Si se especifica la propiedad Proxy, la configuración de proxy de la propiedad Proxy invalidará el archivo de configuración de la aplicación o el equipo local y la instancia de HttpWebRequest usará la configuración de proxy especificada. Si no se especifica ningún proxy en el archivo de configuración y tampoco se especifica la propiedad Proxy, la clase HttpWebRequest usará la configuración de proxy heredada de Internet Explorer en el equipo local. Si no hay ninguna configuración de proxy en Internet Explorer, la solicitud se enviará directamente al servidor.

La clase HttpWebRequest analiza una lista de omisión de proxy con caracteres comodín heredada de Internet Explorer de distinto modo en que Internet Explorer analiza directamente la lista de omisión. Por ejemplo, la clase HttpWebRequest analiza una lista de omisión "nt*" de Internet Explorer como una expresión regular "nt.$". Este comportamiento difiere del comportamiento nativo de Internet Explorer. De modo que una dirección URL "http://intxxxxx" omitiría el proxy utilizando la clase HttpWebRequest, pero no omitiría el proxy utilizando Internet Explorer.

8y7x3zz2.alert_note(es-es,VS.90).gifNota:

El marco de trabajo 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.

8y7x3zz2.alert_note(es-es,VS.90).gifNota:

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

Nota de la plataforma Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows CE:

Se producirá un error en una solicitud HTTP POST sobre SSL (Secure Sockets Layer) con una excepción SocketException si la solicitud pasa por un proxy y se cumplen también todas las condiciones siguientes:

  • La preautenticación está deshabilitada en el servidor.

  • El servidor requiere autenticación Basic, Digest, Negotiate o Windows NT Challenge/Response (NTLM).

  • KeepAlive está establecido en falso.

  • No se utiliza la autenticación del cliente X.509.

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.

Todos los miembros static (Shared en Visual Basic) públicos 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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft