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
| Nombre | Description |
|---|---|
| ByteArrayContent |
Proporciona contenido HTTP basado en una matriz de bytes. |
| DelegatingHandler |
Tipo para controladores HTTP que deleguen el procesamiento de mensajes de respuesta HTTP a otro controlador, denominado controlador interno. |
| FormUrlEncodedContent |
Contenedor para tuplas de nombre y valor codificadas mediante el tipo MIME 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 extensiones para IHttpClientFactory. |
| HttpClientHandler |
Controlador de mensajes predeterminado usado por HttpClient en .NET Framework y .NET Core 2.0 y versiones anteriores. |
| HttpContent |
Clase base que representa un cuerpo de entidad HTTP y encabezados de contenido. |
| HttpDiagnosticsHttpRequestMessageExtensions |
Extensiones para utilidades de telemetría. |
| HttpIOException |
Excepción que se produce cuando se produce un error al leer la respuesta. |
| HttpMessageHandler |
Tipo base para controladores de mensajes HTTP. |
| HttpMessageHandlerFactoryExtensions |
Métodos de extensiones para IHttpMessageHandlerFactory. |
| HttpMessageInvoker |
Clase especializada que permite a las aplicaciones llamar al SendAsync(HttpRequestMessage, CancellationToken) método en una cadena de controladores HTTP. |
| HttpMethod |
Clase auxiliar para recuperar y comparar métodos HTTP estándar y para crear nuevos métodos HTTP. |
| HttpProtocolException |
Excepción que se produce cuando se produce un error de protocolo HTTP/2 o HTTP/3. |
| HttpRequestException |
Clase base para las excepciones producidas por las HttpClient clases y HttpMessageHandler . |
| HttpRequestMessage |
Representa un mensaje de solicitud HTTP. |
| HttpRequestOptions |
Representa una colección de opciones para una solicitud HTTP. |
| HttpResilienceHttpRequestMessageExtensions |
Extensiones de resistencia para HttpRequestMessage. |
| HttpResponseMessage |
Representa un mensaje de respuesta HTTP que incluye el código de estado y los datos. |
| MessageProcessingHandler |
Tipo base para controladores que solo realizan un pequeño procesamiento de mensajes de solicitud o respuesta. |
| MultipartContent |
Proporciona una colección de HttpContent objetos que se serializan mediante la especificación de tipo de contenido multipart/*. |
| MultipartFormDataContent |
Proporciona un contenedor para el contenido codificado mediante el tipo MIME multipart/form-data. |
| ReadOnlyMemoryContent |
Proporciona contenido HTTP basado en .ReadOnlyMemory<T> |
| RtcRequestFactory |
Proporciona una interfaz de programación para aplicaciones HTTP modernas. |
| SocketsHttpConnectionContext |
Representa el contexto pasado a ConnectCallback para una SocketsHttpHandler instancia de . . |
| SocketsHttpHandler |
Proporciona el controlador de mensajes predeterminado usado 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 del escritorio que no están 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 su uso en entornos de servidor. |
Estructuras
| Nombre | Description |
|---|---|
| HttpRequestOptionsKey<TValue> |
Representa una clave de la colección options para una solicitud HTTP. |
Interfaces
| Nombre | Description |
|---|---|
| IHttpClientFactory |
Abstracción de fábrica para un componente que puede crear HttpClient instancias con configuración personalizada para un nombre lógico determinado. |
| IHttpMessageHandlerFactory |
Abstracción de fábrica para un componente que puede crear HttpMessageHandler instancias con configuración personalizada para un nombre lógico determinado. |
Enumeraciones
| Nombre | Description |
|---|---|
| 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 deben considerarse completadas tan pronto como haya disponible una respuesta, o después de leer todo el mensaje de respuesta, incluido el contenido. |
| HttpKeepAlivePingPolicy |
Especifica cuándo se envía el marco de ping HTTP/2 en una conexión inactiva. |
| HttpRequestError |
Define categorías de error que representan el motivo de HttpRequestException o HttpIOException. |
| HttpVersionPolicy |
Especifica comportamientos para seleccionar y negociar la versión HTTP de una solicitud. |
| WindowsProxyUsePolicy |
Esta enumeración proporciona opciones disponibles para la configuración de proxy que usa un HttpClient cuando se ejecuta en Windows. |
Delegados
| Nombre | Description |
|---|---|
| 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 los siguientes componentes:
- Componentes de cliente HTTP que permiten a los usuarios consumir servicios web modernos a través de HTTP.
- Componentes HTTP que pueden usar los clientes y 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 espacio de nombres relacionado System.Net.Http.Headers 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 definidos en RFC 2616 por IETF.
- HttpHeaders - Encabezados HTTP tal como se definen en RFC 2616 por IETF.
- HttpClientHandler - Controladores HTTP responsables de generar mensajes de respuesta HTTP.
Hay varios controladores de mensajes HTTP que puede usar:
- DelegatingHandler - Clase que se usa para conectar un controlador a una cadena de controladores.
- HttpMessageHandler - Una clase sencilla de derivar de que admite los requisitos más comunes para la mayoría de las aplicaciones.
- HttpClientHandler - Clase que funciona en la parte inferior de la cadena de controladores que controla realmente las operaciones de transporte HTTP.
El contenido de un mensaje HTTP corresponde al cuerpo de la entidad definido en RFC 2616.
Las siguientes clases se pueden usar para el contenido HTTP:
- ByteArrayContent - Contenido HTTP basado en una matriz de bytes.
- FormUrlEncodedContent - Contenido HTTP de tuplas de nombre/valor codificadas mediante 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 mediante el tipo MIME multipart/form-data.
- StreamContent - Contenido HTTP basado en una secuencia.
- StringContent - Contenido HTTP basado en una cadena.
Si la aplicación usa los System.Net.Http espacios de nombres y System.Net.Http.Headers y pretende descargar grandes cantidades de datos (50 megabytes o más), debe transmitir esas descargas y no usar el almacenamiento en búfer predeterminado. Si usa el almacenamiento en búfer predeterminado, el uso de memoria del cliente aumentará considerablemente, lo que podría reducir sustancialmente el rendimiento.