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.
Nota |
|---|
| 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.
Nota |
|---|
| 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. |
Nota |
|---|
| Por razones de seguridad, de manera predeterminada las cookies están deshabilitadas. Si desea utilizar cookies, habilítelas mediante la propiedad CookieContainer. |