System.Net.Http Espacio de nombres

Proporciona una interfaz de programación para aplicaciones HTTP modernas. Provides a programming interface for modern HTTP applications.

Clases

ByteArrayContent

Proporciona contenido HTTP basado en una matriz de bytes.Provides HTTP content based on a byte array.

CFNetworkHandler
DelegatingHandler

Un tipo para los controladores HTTP que delegan el procesamiento de los mensajes de respuesta HTTP a otro controlador, denominado controlador interno.A type for HTTP handlers that delegate the processing of HTTP response messages to another handler, called the inner handler.

FormUrlEncodedContent

Contenedor para las tuplas de nombre-valor codificadas mediante el tipo MIME de application/x-www-form-urlencoded.A container for name/value tuples encoded using application/x-www-form-urlencoded MIME type.

HttpClient

Proporciona una clase para enviar solicitudes HTTP y recibir respuestas HTTP de un recurso identificado por un URI.Provides a class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.

HttpClientFactoryExtensions

Métodos de extensión para IHttpClientFactory.Extensions methods for IHttpClientFactory.

HttpClientHandler

Controlador de mensajes predeterminado utilizado por HttpClient en .NET Framework, .NET Core 2.0 y versiones anteriores.The default message handler used by HttpClient in .NET Framework and .NET Core 2.0 and earlier.

HttpContent

Clase base que representa un cuerpo de entidad HTTP y encabezados de contenido.A base class representing an HTTP entity body and content headers.

HttpMessageHandler

Tipo base para los controladores de mensajes HTTP.A base type for HTTP message handlers.

HttpMessageHandlerFactoryExtensions

Métodos de extensión para IHttpMessageHandlerFactory.Extensions methods for IHttpMessageHandlerFactory.

HttpMessageInvoker

Clase especializada que permite que las aplicaciones llamen al método SendAsync(HttpRequestMessage, CancellationToken) en una cadena de controlador HTTP.A specialty class that allows applications to call the SendAsync(HttpRequestMessage, CancellationToken) method on an HTTP handler chain.

HttpMethod

Una clase del asistente para recuperar y comparar métodos HTTP estándar y para crear nuevos métodos HTTP.A helper class for retrieving and comparing standard HTTP methods and for creating new HTTP methods.

HttpRequestException

Una clase base para las excepciones que producen las clases HttpClient y HttpMessageHandler .A base class for exceptions thrown by the HttpClient and HttpMessageHandler classes.

HttpRequestMessage

Representa un mensaje de solicitud HTTP.Represents a HTTP request message.

HttpRequestOptions
HttpResponseMessage

Representa un mensaje de respuesta HTTP incluido el código de estado y los datos.Represents a HTTP response message including the status code and data.

MessageProcessingHandler

Tipo base para los controladores que solo realizan un procesamiento reducido de mensajes de solicitud o respuesta.A base type for handlers which only do some small processing of request and/or response messages.

MultipartContent

Proporciona una colección de objetos HttpContent que se serializan mediante la especificación de tipo de contenido multipart/*.Provides a collection of HttpContent objects that get serialized using the multipart/* content type specification.

MultipartFormDataContent

Proporciona un contenedor para el contenido codificado con el tipo MIME multipart/form-data.Provides a container for content encoded using multipart/form-data MIME type.

NSUrlSessionHandler

Controlador de mensajes predeterminado que usa HttpClient en las plataformas de Apple mediante la pila de Xamarin (iOS, macOS, watchOS y tvOS)The default message handler used by HttpClient on Apple platforms using the Xamarin stack (iOS, macOS, watchOS, tvOS)

ReadOnlyMemoryContent

Proporciona contenido HTTP basado en un elemento ReadOnlyMemory<T>.Provides HTTP content based on a ReadOnlyMemory<T>.

RtcRequestFactory
SocketsHttpConnectionContext

Representa el contexto que se pasa al objeto ConnectCallback para una instancia de SocketsHttpHandler.Represents the context passed to the ConnectCallback for a SocketsHttpHandler instance. ..

SocketsHttpHandler

Proporciona el controlador de mensajes predeterminado utilizado por HttpClient en .NET Core 2.1 y versiones posteriores.Provides the default message handler used by HttpClient in .NET Core 2.1 and later.

SocketsHttpPlaintextStreamFilterContext
StreamContent

Proporciona contenido HTTP basado en una secuencia.Provides HTTP content based on a stream.

StringContent

Proporciona contenido HTTP basado en una cadena.Provides HTTP content based on a string.

WebRequestHandler

Proporciona características específicas de escritorio no disponibles para las aplicaciones de la Tienda Windows u otros entornos.Provides desktop-specific features not available to Windows Store apps or other environments.

WinHttpHandler

Controla los mensajes basándose en la interfaz WinHTTP de Windows.Handles messages based on the WinHTTP interface of Windows. Esta clase está pensada para usarse en entornos de servidor.This class is intended for use in server environments.

Estructuras

HttpRequestOptionsKey<TValue>

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.A factory abstraction for a component that can create HttpClient instances with custom configuration for a given logical name.

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.A factory abstraction for a component that can create HttpMessageHandler instances with custom configuration for a given logical name.

Enumeraciones

ClientCertificateOption

Especifica cómo se proporcionan los certificados de cliente.Specifies how client certificates are provided.

CookieUsePolicy

Esta enumeración permite controlar las cookies HTTP al comunicarse con el servidor.This enumeration allows control of HTTP cookies when communicating with the server.

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.Indicates if HttpClient operations should be considered completed either as soon as a response is available, or after reading the entire response message including the content.

HttpKeepAlivePingPolicy

Especifica cuándo se envía el marco de ping HTTP/2 en una conexión inactiva.Specifies when the HTTP/2 ping frame is sent on an idle connection.

HttpVersionPolicy

Especifica los comportamientos para seleccionar y negociar la versión HTTP de una solicitud.Specifies behaviors for selecting and negotiating the HTTP version for a request.

WindowsProxyUsePolicy

Esta enumeración proporciona las opciones disponibles para la configuración de proxy usada por HttpClient cuando se ejecuta en Windows.This enumeration provides available options for the proxy settings used by an HttpClient when running on Windows.

Delegados

HeaderEncodingSelector<TContext>

Representa un método que especifica la codificación que se va a utilizar al interpretar los valores de encabezado.Represents a method that specifies the encoding to use when interpreting header values.

Comentarios

El System.Net.Http espacio de nombres está diseñado para proporcionar lo siguiente:The System.Net.Http namespace is designed to provide the following:

  1. Componentes de cliente HTTP que permiten a los usuarios utilizar servicios web modernos a través de HTTP.HTTP client components that allow users to consume modern web services over HTTP.

  2. Componentes HTTP que pueden usar tanto clientes como servidores (encabezados HTTP y mensajes, por ejemplo).HTTP components that can be used by both clients and servers (HTTP headers and messages, for example). 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.This provides a consistent programming model on both the client and the server side for modern web services over HTTP.

El System.Net.Http espacio de nombres y el System.Net.Http.Headers espacio de nombres relacionado proporcionan el siguiente conjunto de componentes:The System.Net.Http namespace and the related System.Net.Http.Headers namespace provide the following set of components:

  1. HttpClient : la clase principal que se usa para enviar y recibir solicitudes a través de HTTP.HttpClient - the primary class used to send and receive requests over HTTP.

  2. HttpRequestMessage y HttpResponseMessage -mensajes http tal y como se definen en RFC 2616 por IETF.HttpRequestMessage and HttpResponseMessage - HTTP messages as defined in RFC 2616 by the IETF.

  3. HttpHeaders -Encabezados HTTP tal como se define en RFC 2616 de IETF.HttpHeaders - HTTP headers as defined in RFC 2616 by the IETF.

  4. HttpClientHandler : Controladores HTTP responsables de generar mensajes de respuesta HTTP.HttpClientHandler - HTTP handlers responsible for producing HTTP response messages.

Hay varios controladores de mensajes HTTP que se pueden usar.There are various HTTP message handlers that can be used. Entre ellos se incluyen los siguientes.These include the following.

  1. DelegatingHandler : Una clase que se usa para conectar un controlador a una cadena de controlador.DelegatingHandler - A class used to plug a handler into a handler chain.

  2. HttpMessageHandler : Una clase simple que se deriva de que admite los requisitos más comunes para la mayoría de las aplicaciones.HttpMessageHandler - A simple class to derive from that supports the most common requirements for most applications.

  3. HttpClientHandler : Una clase que opera en la parte inferior de la cadena de controlador que controla realmente las operaciones de transporte HTTP.HttpClientHandler - A class that operates at the bottom of the handler chain that actually handles the HTTP transport operations.

  4. 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.WebRequestHandler - A specialty class that operates at the bottom of the handler chain class that handles HTTP transport operations with options that are specific to the System.Net.HttpWebRequest object.

El contenido de un mensaje HTTP corresponde al cuerpo de entidad definido en RFC 2616.The contents of an HTTP message corresponds to the entity body defined in RFC 2616.

Se puede usar un número de clases para el contenido HTTP.A number of classes can be used for HTTP content. Entre ellos se incluyen los siguientes.These include the following.

  1. ByteArrayContent -Contenido HTTP basado en una matriz de bytes.ByteArrayContent - HTTP content based on a byte array.

  2. FormUrlEncodedContent -Contenido HTTP de tuplas de nombre/valor codificadas con el tipo MIME application/x-www-form-urlencoded.FormUrlEncodedContent - HTTP content of name/value tuples encoded using application/x-www-form-urlencoded MIME type.

  3. MultipartContent -Contenido HTTP que se serializa mediante la especificación de tipo de contenido multipart/*.MultipartContent - HTTP content that gets serialized using the multipart/* content type specification.

  4. MultipartFormDataContent -Contenido HTTP codificado con el tipo MIME multipart/form-data.MultipartFormDataContent - HTTP content encoded using the multipart/form-data MIME type.

  5. StreamContent -Contenido HTTP basado en una secuencia.StreamContent - HTTP content based on a stream.

  6. StringContent -Contenido HTTP basado en una cadena.StringContent - HTTP content based on a string.

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.If an app using the System.Net.Http and System.Net.Http.Headers namespaces intends to download large amounts of data (50 megabytes or more), then the app should stream those downloads and not use the default buffering. 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.If the default buffering is used the client memory usage will get very large, potentially resulting in substantially reduced performance.

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.Classes in the System.Net.Http and System.Net.Http.Headers namespaces can be used to develop Windows Store apps or desktop apps. 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.When used in a Windows Store app, classes in the System.Net.Http and System.Net.Http.Headers namespaces are affected by network isolation feature, part of the application security model used by the 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.The appropriate network capabilities must be enabled in the app manifest for a Windows Store app for the system to allow network access by a Windows store app. Para más información, vea Network Isolation for Windows Store Apps (Aislamiento de red para aplicaciones de Microsoft Store).For more information, see the Network Isolation for Windows Store Apps.

Consulte también