System.Net.Http Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece uma interface de programação para aplicativos HTTP modernos.
Classes
ByteArrayContent |
Fornece conteúdo HTTP baseado em uma matriz de bytes. |
DelegatingHandler |
Um tipo para manipuladores de HTTP que delegam o processamento de mensagens de resposta HTTP para outro manipulador, chamado de manipulador interno. |
FormUrlEncodedContent |
Um contêiner para tuplas de nome/valor codificadas usando o tipo MIME application/x-www-form-urlencoded. |
HttpClient |
Fornece uma classe para enviar solicitações HTTP e receber respostas HTTP de um recurso identificado por um URI. |
HttpClientFactoryExtensions |
Métodos de extensões para IHttpClientFactory. |
HttpClientHandler |
O manipulador de mensagens padrão usado pelo HttpClient no .NET Framework e .NET Core 2.0 e versões anteriores. |
HttpContent |
Uma classe base que representa um corpo de entidade HTTP e cabeçalhos de conteúdo. |
HttpDiagnosticsHttpRequestMessageExtensions |
Extensões para utilitários de telemetria. |
HttpIOException |
A exceção gerada quando ocorre um erro durante a leitura da resposta. |
HttpMessageHandler |
Um tipo base para manipuladores de mensagens HTTP. |
HttpMessageHandlerFactoryExtensions |
Métodos de extensões para IHttpMessageHandlerFactory. |
HttpMessageInvoker |
Uma classe de especialidade que permite que os aplicativos chamem o método SendAsync(HttpRequestMessage, CancellationToken) em uma cadeia de manipulador HTTP. |
HttpMethod |
Uma classe auxiliar para recuperação e comparação de métodos HTTP padrão e para a criação de novos métodos HTTP. |
HttpProtocolException |
A exceção gerada quando ocorre um erro de protocolo HTTP/2 ou HTTP/3. |
HttpRequestException |
Uma classe base para exceções lançadas pelo HttpClient e pelas classes HttpMessageHandler. |
HttpRequestMessage |
Representa uma mensagem de solicitação HTTP. |
HttpRequestOptions |
Representa uma coleção de opções para uma solicitação HTTP. |
HttpResilienceHttpRequestMessageExtensions |
As extensões de resiliência para HttpRequestMessage. |
HttpResponseMessage |
Representa uma mensagem de resposta HTTP incluindo o código de status e os dados. |
MessageProcessingHandler |
Um tipo base para manipuladores que realizam apenas pequenos processamentos de mensagens de solicitação de e/ou resposta. |
MultipartContent |
Fornece uma coleção de objetos HttpContent que são serializados utilizando a especificação de tipo de conteúdo com diversas partes/*. |
MultipartFormDataContent |
Fornece um contêiner para conteúdo codificado usando o tipo MIME de várias partes/dados de formulário. |
ReadOnlyMemoryContent |
Fornece conteúdo HTTP baseado em ReadOnlyMemory<T>. |
RtcRequestFactory |
Fornece uma interface de programação para aplicativos HTTP modernos. |
SocketsHttpConnectionContext |
Representa o contexto passado para o ConnectCallback de uma instância de SocketsHttpHandler. . |
SocketsHttpHandler |
Oferece o manipulador de mensagens padrão usado pelo HttpClient no .NET Core 2.1 e versões anteriores. |
SocketsHttpPlaintextStreamFilterContext |
Representa o contexto passado a PlaintextStreamFilter para uma instância de SocketsHttpHandler. |
StreamContent |
Fornece conteúdo HTTP baseado em um fluxo. |
StringContent |
Fornece conteúdo HTTP baseado em uma cadeia de caracteres. |
WebRequestHandler |
Fornece recursos específicos da área de trabalho não disponíveis para aplicativos da Windows Store ou em outros ambientes. |
WinHttpHandler |
Manipula mensagens com base na interface WinHTTP do Windows. Essa classe destina-se ao uso em ambientes de servidor. |
Estruturas
HttpRequestOptionsKey<TValue> |
Representa uma chave na coleção de opções para uma solicitação HTTP. |
Interfaces
IHttpClientFactory |
Uma abstração de fábrica para um componente que pode criar instâncias de HttpClient com configuração personalizada para um determinado nome lógico. |
IHttpMessageHandlerFactory |
Uma abstração de fábrica para um componente que pode criar instâncias de HttpMessageHandler com configuração personalizada para um determinado nome lógico. |
Enumerações
ClientCertificateOption |
Especifica como os certificados de cliente são fornecidos. |
CookieUsePolicy |
Essa enumeração permite o controle de cookies HTTP ao se comunicar com o servidor. |
HttpCompletionOption |
Indica se operações HttpClient deverão ser consideradas concluídas assim que uma resposta estiver disponível ou após a leitura de toda a mensagem de resposta, incluindo o conteúdo. |
HttpKeepAlivePingPolicy |
Especifica quando o quadro de ping HTTP/2 é enviado em uma conexão ociosa. |
HttpRequestError |
Define categorias de erro que representam o motivo de HttpRequestException ou HttpIOException. |
HttpVersionPolicy |
Especifica comportamentos para selecionar e negociar a versão HTTP de uma solicitação. |
WindowsProxyUsePolicy |
Esta enumeração fornece opções disponíveis para as configurações de proxy usadas por um HttpClient durante a execução no Windows. |
Delegados
HeaderEncodingSelector<TContext> |
Representa um método que especifica a codificação a ser usada ao interpretar os valores de cabeçalho. |
Comentários
O System.Net.Http namespace foi projetado para fornecer o seguinte:
Componentes de cliente HTTP que permitem que os usuários consumam serviços Web modernos por HTTP.
Componentes HTTP que podem ser usados por clientes e servidores (cabeçalhos HTTP e mensagens, por exemplo). Isso fornece um modelo de programação consistente no lado do cliente e do servidor para serviços Web modernos por HTTP.
O System.Net.Http namespace e o namespace relacionado System.Net.Http.Headers fornecem o seguinte conjunto de componentes:
HttpClient – a classe primária usada para enviar e receber solicitações por HTTP.
HttpRequestMessage e HttpResponseMessage - Mensagens HTTP conforme definido no RFC 2616 pelo IETF.
HttpHeaders - Cabeçalhos HTTP conforme definido no RFC 2616 pelo IETF.
HttpClientHandler – Manipuladores HTTP responsáveis por produzir mensagens de resposta HTTP.
Há vários manipuladores de mensagens HTTP que podem ser usados. Entre eles estão os descritos a seguir.
DelegatingHandler - Uma classe usada para conectar um manipulador a uma cadeia de manipuladores.
HttpMessageHandler – Uma classe simples para derivar que dá suporte aos requisitos mais comuns para a maioria dos aplicativos.
HttpClientHandler - Uma classe que opera na parte inferior da cadeia de manipuladores que realmente manipula as operações de transporte HTTP.
WebRequestHandler – Uma classe de especialidade que opera na parte inferior da classe de cadeia de manipuladores que manipula operações de transporte HTTP com opções específicas do System.Net.HttpWebRequest objeto.
O conteúdo de uma mensagem HTTP corresponde ao corpo da entidade definido no RFC 2616.
Várias classes podem ser usadas para conteúdo HTTP. Entre eles estão os descritos a seguir.
ByteArrayContent – Conteúdo HTTP com base em uma matriz de bytes.
FormUrlEncodedContent - Conteúdo HTTP de tuplas de nome/valor codificadas usando o tipo MIME application/x-www-form-urlencoded.
MultipartContent – Conteúdo HTTP que é serializado usando a especificação de tipo de conteúdo de várias partes/*.
MultipartFormDataContent - Conteúdo HTTP codificado usando o tipo MIME multipart/form-data.
StreamContent - Conteúdo HTTP com base em um fluxo.
StringContent - Conteúdo HTTP com base em uma cadeia de caracteres.
Se um aplicativo que usa os System.Net.Http namespaces e System.Net.Http.Headers pretende baixar grandes quantidades de dados (50 megabytes ou mais), o aplicativo deve transmitir esses downloads e não usar o buffer padrão. Se o buffer padrão for usado, o uso de memória do cliente ficará muito grande, potencialmente resultando em um desempenho substancialmente reduzido.
As classes nos System.Net.Http namespaces e System.Net.Http.Headers podem ser usadas para desenvolver aplicativos da Windows Store ou aplicativos da área de trabalho. Quando usadas em um aplicativo da Windows Store, as System.Net.Http classes nos namespaces e System.Net.Http.Headers são afetadas pelo recurso de isolamento de rede, parte do modelo de segurança do aplicativo usado pelo Windows 8. Os recursos de rede apropriados devem ser habilitados no manifesto do aplicativo para um aplicativo da Windows Store para que o sistema permita o acesso à rede por um aplicativo da Windows Store. Para obter mais informações, consulte o Isolamento de Rede para Aplicativos da Windows Store.