Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase HttpWebRequest

 

Publicado: octubre de 2016

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

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

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

[SerializableAttribute]
public class HttpWebRequest : WebRequest, ISerializable

NombreDescripción
System_CAPS_pubmethodHttpWebRequest()

Obsoleto. Inicializa una nueva instancia de la clase HttpWebRequest.

System_CAPS_protmethodHttpWebRequest(SerializationInfo, StreamingContext)

Obsoleto. Inicializa una nueva instancia de la clase HttpWebRequest desde las instancias especificadas de las clases SerializationInfo y StreamingContext.

NombreDescripción
System_CAPS_pubpropertyAccept

Obtiene o establece el valor del encabezado HTTP Accept.

System_CAPS_pubpropertyAddress

Obtiene el identificador URI del recurso de Internet que respondió realmente a la solicitud.

System_CAPS_pubpropertyAllowAutoRedirect

Obtiene o establece un valor que indica si la solicitud debe seguir las respuestas de redirección.

System_CAPS_pubpropertyAllowReadStreamBuffering

Obtiene o establece un valor que indica si los datos recibidos del recurso de Internet deben almacenarse en el búfer.

System_CAPS_pubpropertyAllowWriteStreamBuffering

Obtiene o establece un valor que indica si se deben almacenar en el búfer los datos enviados al recurso de Internet.

System_CAPS_pubpropertyAuthenticationLevel

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

System_CAPS_pubpropertyAutomaticDecompression

Obtiene o establece el tipo de descompresión que se utiliza.

System_CAPS_pubpropertyCachePolicy

Obtiene o establece la directiva de caché para esta solicitud.(Heredado de WebRequest).

System_CAPS_pubpropertyClientCertificates

Obtiene o establece la colección de certificados de seguridad asociados a esta solicitud.

System_CAPS_pubpropertyConnection

Obtiene o establece el valor del encabezado HTTP Connection.

System_CAPS_pubpropertyConnectionGroupName

Obtiene o establece el nombre del grupo de conexiones para la solicitud.(Invalida WebRequest.ConnectionGroupName).

System_CAPS_pubpropertyContentLength

Obtiene o establece el encabezado HTTP Content-length.(Invalida WebRequest.ContentLength).

System_CAPS_pubpropertyContentType

Obtiene o establece el valor del encabezado HTTP Content-type.(Invalida WebRequest.ContentType).

System_CAPS_pubpropertyContinueDelegate

Obtiene o establece el método de delegado al que se llama cuando se recibe una respuesta HTTP 100-continue desde el recurso de Internet.

System_CAPS_pubpropertyContinueTimeout

Obtiene o establece el tiempo de espera, en milisegundos, para esperar hasta que se reciba 100-Continue del servidor.

System_CAPS_pubpropertyCookieContainer

Obtiene o establece las cookies asociadas a la solicitud.

System_CAPS_pubpropertyCreatorInstance

Obsoleto. 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.(Heredado de WebRequest).

System_CAPS_pubpropertyCredentials

Obtiene o establece la información de autenticación para la solicitud.(Invalida WebRequest.Credentials).

System_CAPS_pubpropertyDate

Obtiene o establece el valor del encabezado HTTP Date que se va a usar en una solicitud HTTP.

System_CAPS_pubpropertySystem_CAPS_staticDefaultCachePolicy

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

System_CAPS_pubpropertySystem_CAPS_staticDefaultMaximumErrorResponseLength

Obtiene o establece la longitud máxima predeterminada de una respuesta de error de HTTP.

System_CAPS_pubpropertySystem_CAPS_staticDefaultMaximumResponseHeadersLength

Obtiene o establece el valor predeterminado de la propiedad MaximumResponseHeadersLength.

System_CAPS_pubpropertyExpect

Obtiene o establece el valor del encabezado HTTP Expect.

System_CAPS_pubpropertyHaveResponse

Obtiene un valor que indica si se ha recibido una respuesta de un recurso de Internet.

System_CAPS_pubpropertyHeaders

Especifica una colección de los pares nombre/valor que componen los encabezados HTTP.(Invalida WebRequest.Headers).

System_CAPS_pubpropertyHost

Obtiene o establece el valor del encabezado Host que se va a usar en una solicitud HTTP independiente del identificador URI de la solicitud.

System_CAPS_pubpropertyIfModifiedSince

Obtiene o establece el valor del encabezado HTTP If-Modified-Since.

System_CAPS_pubpropertyImpersonationLevel

Obtiene o establece el nivel de suplantación para la solicitud actual.(Heredado de WebRequest).

System_CAPS_pubpropertyKeepAlive

Obtiene o establece un valor que indica si se debe establecer una conexión persistente en el recurso de Internet.

System_CAPS_pubpropertyMaximumAutomaticRedirections

Obtiene o establece el número máximo de redirecciones que seguirá la solicitud.

System_CAPS_pubpropertyMaximumResponseHeadersLength

Obtiene o establece la longitud máxima permitida de los encabezados de respuesta.

System_CAPS_pubpropertyMediaType

Obtiene o establece el tipo del medio de la solicitud.

System_CAPS_pubpropertyMethod

Obtiene o establece el método para la solicitud.(Invalida WebRequest.Method).

System_CAPS_pubpropertyPipelined

Obtiene o establece un valor que indica si se debe canalizar la solicitud en el recurso de Internet.

System_CAPS_pubpropertyPreAuthenticate

Obtiene o establece un valor que indica si se envía un encabezado de autorización con la solicitud.(Invalida WebRequest.PreAuthenticate).

System_CAPS_pubpropertyProtocolVersion

Obtiene o establece la versión de HTTP que se va a utilizar para la solicitud.

System_CAPS_pubpropertyProxy

Obtiene o establece la información de proxy para la solicitud.(Invalida WebRequest.Proxy).

System_CAPS_pubpropertyReadWriteTimeout

Obtiene o establece un tiempo de espera, en milisegundos, al leer o escribir una secuencia.

System_CAPS_pubpropertyReferer

Obtiene o establece el valor del encabezado HTTP Referer.

System_CAPS_pubpropertyRequestUri

Obtiene el identificador URI original de la solicitud.(Invalida WebRequest.RequestUri).

System_CAPS_pubpropertySendChunked

Obtiene o establece un valor que indica si se deben enviar los datos en segmentos al recurso de Internet.

System_CAPS_pubpropertyServerCertificateValidationCallback

Obtiene o establece una función de devolución de llamada para validar el certificado de servidor.

System_CAPS_pubpropertyServicePoint

Obtiene el punto de servicio que se va a utilizar para la solicitud.

System_CAPS_pubpropertySupportsCookieContainer

Obtiene un valor que indica si la solicitud admite un CookieContainer.

System_CAPS_pubpropertyTimeout

Obtiene o establece el valor de tiempo de espera, en milisegundos, para los métodos GetResponse y GetRequestStream.(Invalida WebRequest.Timeout).

System_CAPS_pubpropertyTransferEncoding

Obtiene o establece el valor del encabezado HTTP Transfer-encoding.

System_CAPS_pubpropertyUnsafeAuthenticatedConnectionSharing

Obtiene o establece un valor que indica si se permite el uso compartido de las conexiones de alta velocidad autenticadas por NTLM.

System_CAPS_pubpropertyUseDefaultCredentials

Obtiene o establece un valor Boolean que controla si se envían las credenciales predeterminadas con las solicitudes.(Invalida WebRequest.UseDefaultCredentials).

System_CAPS_pubpropertyUserAgent

Obtiene o establece el valor del encabezado HTTP User-agent.

NombreDescripción
System_CAPS_pubmethodAbort()

Cancela una solicitud de un recurso de Internet.(Invalida WebRequest.Abort()).

System_CAPS_pubmethodAddRange(Int32)

Agrega un encabezado de intervalo de bytes a una solicitud de un intervalo específico desde el principio o el final de los datos solicitados.

System_CAPS_pubmethodAddRange(Int32, Int32)

Agrega un encabezado de intervalo de bytes a la solicitud de un intervalo especificado.

System_CAPS_pubmethodAddRange(Int64)

Agrega un encabezado de intervalo de bytes a una solicitud de un intervalo específico desde el principio o el final de los datos solicitados.

System_CAPS_pubmethodAddRange(Int64, Int64)

Agrega un encabezado de intervalo de bytes a la solicitud de un intervalo especificado.

System_CAPS_pubmethodAddRange(String, Int32)

Agrega un encabezado Range a una solicitud de un intervalo específico del principio o del final de los datos solicitados.

System_CAPS_pubmethodAddRange(String, Int32, Int32)

Agrega un encabezado de intervalo a una solicitud de un intervalo especificado.

System_CAPS_pubmethodAddRange(String, Int64)

Agrega un encabezado Range a una solicitud de un intervalo específico del principio o del final de los datos solicitados.

System_CAPS_pubmethodAddRange(String, Int64, Int64)

Agrega un encabezado de intervalo a una solicitud de un intervalo especificado.

System_CAPS_pubmethodBeginGetRequestStream(AsyncCallback, Object)

Inicia una solicitud asincrónica de un objeto Stream que se va a utilizar para escribir datos.(Invalida WebRequest.BeginGetRequestStream(AsyncCallback, Object)).

System_CAPS_pubmethodBeginGetResponse(AsyncCallback, Object)

Inicia una solicitud asincrónica de un recurso de Internet.(Invalida WebRequest.BeginGetResponse(AsyncCallback, Object)).

System_CAPS_pubmethodCreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar a un proxy que se utiliza para comunicarse con un objeto remoto.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodEndGetRequestStream(IAsyncResult)

Finaliza una solicitud asincrónica para utilizar un objeto Stream para escribir datos.(Invalida WebRequest.EndGetRequestStream(IAsyncResult)).

System_CAPS_pubmethodEndGetRequestStream(IAsyncResult, TransportContext)

Finaliza una solicitud asincrónica de un objeto Stream que se va a usar para escribir los datos y genera el objeto TransportContext asociado a la secuencia.

System_CAPS_pubmethodEndGetResponse(IAsyncResult)

Finaliza una solicitud asincrónica de un recurso de Internet.(Invalida WebRequest.EndGetResponse(IAsyncResult)).

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetLifetimeService()

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

System_CAPS_protmethodGetObjectData(SerializationInfo, StreamingContext)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Rellena SerializationInfo con los datos necesarios para serializar el objeto de destino.(Invalida WebRequest.GetObjectData(SerializationInfo, StreamingContext)).

System_CAPS_pubmethodGetRequestStream()

Obtiene un objeto Stream que se utilizará para escribir los datos de la solicitud.(Invalida WebRequest.GetRequestStream()).

System_CAPS_pubmethodGetRequestStream(TransportContext)

Obtiene un objeto Stream que se va a usar para escribir los datos de la solicitud y genera el objeto TransportContext asociado a la secuencia.

System_CAPS_pubmethodGetRequestStreamAsync()

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.(Heredado de WebRequest).

System_CAPS_pubmethodGetResponse()

Devuelve una respuesta de un recurso de Internet.(Invalida WebRequest.GetResponse()).

System_CAPS_pubmethodGetResponseAsync()

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

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodInitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone(Boolean)

Crea una copia superficial del elemento actual MarshalByRefObject objeto.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethodISerializable.GetObjectData(SerializationInfo, StreamingContext)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Llena SerializationInfo con los datos necesarios para serializar el objeto de destino.

El HttpWebRequest proporciona compatibilidad para las propiedades y métodos definidos en WebRequest y para otras propiedades y métodos que permiten al usuario interactuar directamente con los servidores mediante HTTP.

No utilice la HttpWebRequest constructor. Use la WebRequest.Create método para inicializar nuevos HttpWebRequest objetos. Si el esquema para el identificador uniforme de recursos (URI) es http:// o https://, Create devuelve un HttpWebRequest objeto.

El GetResponse método realiza una solicitud sincrónica al recurso especificado en el RequestUri propiedad y devuelve un HttpWebResponse que contiene el objeto de respuesta. Pueden recibir los datos de respuesta mediante el uso de la secuencia devuelta por GetResponseStream. Si se cierra el objeto de respuesta o la secuencia de respuesta, se perderá los datos restantes. Los datos restantes se se agotará y el socket se puede volver a usar para las solicitudes posteriores al cerrar la secuencia o el objeto de respuesta si mantiene las condiciones siguientes: es una solicitud keep-alive "o" canalizada, sólo una pequeña cantidad de datos necesita que se reciba o se reciben los datos restantes en un pequeño intervalo de tiempo. Si ninguna de las condiciones mencionadas mantenga o se supera el tiempo de carga, se cerrará el socket. Para las conexiones canalizadas o persistente, se recomienda encarecidamente que la aplicación lee las secuencias hasta el final del archivo. Esto garantiza que el socket se puede volver a usar para lo que produce un mejor rendimiento y menos recursos que usa las solicitudes posteriores.

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

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

El HttpWebRequest clase produce un WebException cuando se producen errores al obtener acceso a un recurso. El WebException.Status propiedad contiene un WebExceptionStatus valor que indica el origen del error. Cuando WebException.Status es WebExceptionStatus.ProtocolError, Response propiedad contiene el HttpWebResponse recibidos del recurso.

HttpWebRequestexpone valores de encabezado HTTP comunes enviados al recurso de Internet como propiedades, métodos establecen o establecido por el sistema; en la tabla siguiente contiene una lista completa. Puede establecer otros encabezados en la Headers propiedad como pares nombre/valor. Tenga en cuenta que los servidores y las memorias caché pueden cambiar o agregar encabezados durante la solicitud.

En la tabla siguiente se enumera los encabezados HTTP que se establecen mediante propiedades o métodos o el sistema.

Encabezado

Establecer

Aceptar

Establecer el Accept propiedad.

Conexión

Establecer el Connection propiedad KeepAlive propiedad.

Longitud del contenido

Establecer el ContentLength propiedad.

Tipo de contenido

Establecer el ContentType propiedad.

Esperar

Establecer el Expect propiedad.

Fecha

Establecido por el sistema hasta la fecha actual.

Host

Establecido por el sistema a la información de host actual.

If-Modified-Since

Establecer el IfModifiedSince propiedad.

Intervalo

Establecer el AddRange método.

Sitio de referencia

Establecer el Referer propiedad.

Codificación de transferencia

Establecer el TransferEncoding propiedad (la SendChunked propiedad debe ser true).

Agente de usuario

Establecer el UserAgent propiedad.

System_CAPS_noteNota

HttpWebRequestse registra automáticamente. No es necesario llamar a la RegisterPrefix método para registrar System.Net.HttpWebRequest antes de usar URI a partir http:// o https://.

El equipo local o un archivo de configuración de la aplicación puede especificar que se puede usar un proxy predeterminado. Si el Proxy se especifica la propiedad, a continuación, la configuración de proxy de la Proxy el equipo local o un archivo de configuración de aplicación de reemplazo de propiedad y el HttpWebRequest instancia usará la configuración de proxy especificada. Si no se especifica ningún proxy en un archivo de configuración y la Proxy propiedad no se especifica, el HttpWebRequest clase usa 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 envía directamente al servidor.

La HttpWebRequest clase analiza una lista de omisión de proxy con caracteres comodín heredadas de Internet Explorer de forma diferente de la lista de omisión se analiza directamente por Internet Explorer. Por ejemplo, el HttpWebRequest clase analizará una lista de omisión de "nt *" de Internet Explorer como una expresión regular "nt. $". Esto difiere del comportamiento nativo de Internet Explorer. Por lo que una dirección URL de "http://intxxxxx" omitiría el proxy utilizando la HttpWebRequest clase, pero no omitiría el proxy utilizando Internet Explorer.

System_CAPS_noteNota

El marco de trabajo se almacena en caché las sesiones SSL que se crean y se intenta reutilizar una sesión almacenada en caché para una nueva solicitud, si es posible. Al intentar reutilizar una sesión SSL, el marco de trabajo usa el primer elemento de ClientCertificates (si hay alguno), o intenta reutilizar una sesión anónima si ClientCertificates está vacía.

System_CAPS_noteNota

Por motivos de seguridad, las cookies están deshabilitadas de forma predeterminada. Si desea utilizar cookies, use la CookieContainer propiedad para permitir las cookies.

.NET Framework 4.6 incluye una nueva característica de seguridad que bloquea el cifrado no seguro y los algoritmos para las conexiones de hash. Aplicaciones de uso de TLS/SSL a través de API, como HttpClient HttpWebRequest, FTPClient, SmtpClient, SslStream, etc. y destino es .NET Framework 4.6 obtienen el comportamiento más seguras de forma predeterminada.

Los desarrolladores que desee dejar de seguir este comportamiento para mantener la interoperabilidad con los servicios de SSL3 existentes o TLS con servicios de RC4. This articleExplica cómo modificar el código para que el nuevo comportamiento está deshabilitado.

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


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

WebPermission

to access the requested URI or any URI that the request is redirected to. Associated enumeration: F:System.Net.NetworkAccess.Connect

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: