System.Net.Http Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona una interfaz de programación para aplicaciones HTTP modernas.
Clases
| ByteArrayContent |
Proporciona contenido HTTP basado en una matriz de bytes. |
| CFNetworkHandler | |
| DelegatingHandler |
Un tipo para los controladores HTTP que delegan el procesamiento de los mensajes de respuesta HTTP a otro controlador, denominado controlador interno. |
| FormUrlEncodedContent |
Contenedor para las tuplas de nombre-valor codificadas mediante el tipo MIME de application/x-www-form-urlencoded. |
| HttpClient |
Proporciona una clase para enviar solicitudes HTTP y recibir respuestas HTTP de un recurso identificado por un URI. |
| HttpClientFactoryExtensions |
Métodos de extensión para IHttpClientFactory. |
| HttpClientHandler |
Controlador de mensajes predeterminado utilizado por HttpClient en .NET Framework, .NET Core 2.0 y versiones anteriores. |
| HttpContent |
Clase base que representa un cuerpo de entidad HTTP y encabezados de contenido. |
| HttpMessageHandler |
Tipo base para los controladores de mensajes HTTP. |
| HttpMessageHandlerFactoryExtensions |
Métodos de extensión para IHttpMessageHandlerFactory. |
| HttpMessageInvoker |
Clase especializada que permite que las aplicaciones llamen al método SendAsync(HttpRequestMessage, CancellationToken) en una cadena de controlador HTTP. |
| HttpMethod |
Una clase del asistente para recuperar y comparar métodos HTTP estándar y para crear nuevos métodos HTTP. |
| HttpRequestException |
Una clase base para las excepciones que producen las clases HttpClient y HttpMessageHandler . |
| HttpRequestMessage |
Representa un mensaje de solicitud HTTP. |
| HttpRequestOptions |
Representa una colección de opciones para una solicitud HTTP. |
| HttpResponseMessage |
Representa un mensaje de respuesta HTTP incluido el código de estado y los datos. |
| MessageProcessingHandler |
Tipo base para los controladores que solo realizan un procesamiento reducido de mensajes de solicitud o respuesta. |
| MultipartContent |
Proporciona una colección de objetos HttpContent que se serializan mediante la especificación de tipo de contenido multipart/*. |
| MultipartFormDataContent |
Proporciona un contenedor para el contenido codificado con el tipo MIME multipart/form-data. |
| NSUrlSessionHandler |
Controlador de mensajes predeterminado que usa HttpClient en las plataformas de Apple mediante la pila de Xamarin (iOS, macOS, watchOS y tvOS) |
| ReadOnlyMemoryContent |
Proporciona contenido HTTP basado en un elemento ReadOnlyMemory<T>. |
| RtcRequestFactory | |
| SocketsHttpConnectionContext |
Representa el contexto que se pasa al objeto ConnectCallback para una instancia de SocketsHttpHandler. . |
| SocketsHttpHandler |
Proporciona el controlador de mensajes predeterminado utilizado por HttpClient en .NET Core 2.1 y versiones posteriores. |
| SocketsHttpPlaintextStreamFilterContext |
Representa el contexto pasado a PlaintextStreamFilter para una instancia de SocketsHttpHandler. |
| StreamContent |
Proporciona contenido HTTP basado en una secuencia. |
| StringContent |
Proporciona contenido HTTP basado en una cadena. |
| WebRequestHandler |
Proporciona características específicas de escritorio no disponibles para las aplicaciones de la Tienda Windows u otros entornos. |
| WinHttpHandler |
Controla los mensajes basados en la interfaz WinHTTP de Windows. Esta clase está pensada para usarse en entornos de servidor. |
Estructuras
| HttpRequestOptionsKey<TValue> |
Representa una clave de la colección de opciones para una solicitud HTTP. |
Interfaces
| IHttpClientFactory |
Una abstracción de fábrica para un componente que puede crear instancias de HttpClient con una configuración personalizada para un nombre lógico determinado. |
| IHttpMessageHandlerFactory |
Una abstracción de fábrica para un componente que puede crear instancias de HttpMessageHandler con una configuración personalizada para un nombre lógico determinado. |
Enumeraciones
| ClientCertificateOption |
Especifica cómo se proporcionan los certificados de cliente. |
| CookieUsePolicy |
Esta enumeración permite controlar las cookies HTTP al comunicarse con el servidor. |
| HttpCompletionOption |
Indica si las operaciones de HttpClient se consideran completadas cualquiera tan pronto como una respuesta esté disponible o después de leer el mensaje de respuesta completo, incluido el contenido. |
| HttpKeepAlivePingPolicy |
Especifica cuándo se envía el marco de ping HTTP/2 en una conexión inactiva. |
| HttpVersionPolicy |
Especifica los comportamientos para seleccionar y negociar la versión HTTP de una solicitud. |
| WindowsProxyUsePolicy |
Esta enumeración proporciona las opciones disponibles para la configuración de proxy usada por HttpClient cuando se ejecuta en Windows. |
Delegados
| HeaderEncodingSelector<TContext> |
Representa un método que especifica la codificación que se va a usar al interpretar los valores de encabezado. |
Comentarios
El System.Net.Http espacio de nombres está diseñado para proporcionar lo siguiente:
Componentes de cliente HTTP que permiten a los usuarios utilizar servicios web modernos a través de HTTP.
Componentes HTTP que pueden usar tanto clientes como servidores (encabezados HTTP y mensajes, por ejemplo). Esto proporciona un modelo de programación coherente tanto en el cliente como en el lado servidor para los servicios web modernos a través de HTTP.
El System.Net.Http espacio de nombres y el System.Net.Http.Headers espacio de nombres relacionado proporcionan el siguiente conjunto de componentes:
HttpClient : la clase principal que se usa para enviar y recibir solicitudes a través de HTTP.
HttpRequestMessage y HttpResponseMessage -mensajes http tal y como se definen en RFC 2616 por IETF.
HttpHeaders -Encabezados HTTP tal como se define en RFC 2616 de IETF.
HttpClientHandler : Controladores HTTP responsables de generar mensajes de respuesta HTTP.
Hay varios controladores de mensajes HTTP que se pueden usar. Entre ellos se incluyen los siguientes.
DelegatingHandler : Una clase que se usa para conectar un controlador a una cadena de controlador.
HttpMessageHandler : Una clase simple que se deriva de que admite los requisitos más comunes para la mayoría de las aplicaciones.
HttpClientHandler : Una clase que opera en la parte inferior de la cadena de controlador que controla realmente las operaciones de transporte HTTP.
WebRequestHandler : Una clase de especialidad que opera en la parte inferior de la clase de cadena de controlador que controla las operaciones de transporte HTTP con opciones específicas del System.Net.HttpWebRequest objeto.
El contenido de un mensaje HTTP corresponde al cuerpo de entidad definido en RFC 2616.
Se puede usar un número de clases para el contenido HTTP. Entre ellos se incluyen los siguientes.
ByteArrayContent -Contenido HTTP basado en una matriz de bytes.
FormUrlEncodedContent -Contenido HTTP de tuplas de nombre/valor codificadas con el tipo MIME application/x-www-form-urlencoded.
MultipartContent -Contenido HTTP que se serializa mediante la especificación de tipo de contenido multipart/*.
MultipartFormDataContent -Contenido HTTP codificado con el tipo MIME multipart/form-data.
StreamContent -Contenido HTTP basado en una secuencia.
StringContent -Contenido HTTP basado en una cadena.
Si una aplicación que usa System.Net.Http los System.Net.Http.Headers espacios de nombres y intenta descargar grandes cantidades de datos (50 megabytes o más), la aplicación debe transmitir esas descargas y no usar el almacenamiento en búfer predeterminado. Si se utiliza el almacenamiento en búfer predeterminado, el uso de memoria del cliente será muy grande, lo que podría dar lugar a un rendimiento notablemente reducido.
Las clases de System.Net.Http los System.Net.Http.Headers espacios de nombres y se pueden usar para desarrollar aplicaciones de la tienda Windows o aplicaciones de escritorio. Cuando se usa en una aplicación de la tienda Windows, las clases de los System.Net.Http System.Net.Http.Headers espacios de nombres y se ven afectadas por la característica de aislamiento de red, parte del modelo de seguridad de la aplicación usado por Windows 8. Las capacidades de red adecuadas deben estar habilitadas en el manifiesto de aplicación de una aplicación de la tienda Windows para que el sistema permita el acceso a la red mediante una aplicación de la tienda Windows. Para más información, vea Network Isolation for Windows Store Apps (Aislamiento de red para aplicaciones de Microsoft Store).