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
| Nome | Description |
|---|---|
| ByteArrayContent |
Fornece conteúdo HTTP com base em uma matriz de bytes. |
| DelegatingHandler |
Um tipo para manipuladores HTTP que delegam o processamento de mensagens de resposta HTTP a outro manipulador, chamado de manipulador interno. |
| FormUrlEncodedContent |
Um contêiner para tuplas de nome/valor codificados usando o tipo MIME de aplicativo/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 no HttpClient .NET Framework e no .NET Core 2.0 e 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 ao ler a 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 SendAsync(HttpRequestMessage, CancellationToken) método em uma cadeia de manipuladores HTTP. |
| HttpMethod |
Uma classe auxiliar para recuperar e comparar métodos HTTP padrão e para criar 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 geradas pelas classes e HttpMessageHandler pelas HttpClient classes. |
| 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 fazem apenas um pequeno processamento de mensagens de solicitação e/ou resposta. |
| MultipartContent |
Fornece uma coleção de HttpContent objetos que são serializados usando a especificação de tipo de conteúdo multipart/*. |
| MultipartFormDataContent |
Fornece um contêiner para conteúdo codificado usando o tipo MIME multipart/form-data. |
| ReadOnlyMemoryContent |
Fornece conteúdo HTTP com base em um ReadOnlyMemory<T>. |
| RtcRequestFactory |
Fornece uma interface de programação para aplicativos HTTP modernos. |
| SocketsHttpConnectionContext |
Representa o contexto passado para uma ConnectCallbackSocketsHttpHandler instância. . |
| SocketsHttpHandler |
Fornece o manipulador de mensagens padrão usado no HttpClient .NET Core 2.1 e posterior. |
| SocketsHttpPlaintextStreamFilterContext |
Representa o contexto passado para o PlaintextStreamFilter para uma instância socketsHttpHandler. |
| StreamContent |
Fornece conteúdo HTTP com base em um fluxo. |
| StringContent |
Fornece conteúdo HTTP com base em uma cadeia de caracteres. |
| WebRequestHandler |
Fornece recursos específicos da área de trabalho não disponíveis para aplicativos da Windows Store ou outros ambientes. |
| WinHttpHandler |
Manipula mensagens com base na interface WinHTTP do Windows. Essa classe destina-se ao uso em ambientes de servidor. |
Estruturas
| Nome | Description |
|---|---|
| HttpRequestOptionsKey<TValue> |
Representa uma chave na coleção de opções para uma solicitação HTTP. |
Interfaces
| Nome | Description |
|---|---|
| IHttpClientFactory |
Uma abstração de fábrica para um componente que pode criar HttpClient instâncias com configuração personalizada para um determinado nome lógico. |
| IHttpMessageHandlerFactory |
Uma abstração de fábrica para um componente que pode criar HttpMessageHandler instâncias com configuração personalizada para um determinado nome lógico. |
Enumerações
| Nome | Description |
|---|---|
| ClientCertificateOption |
Especifica como os certificados do cliente são fornecidos. |
| CookieUsePolicy |
Essa enumeração permite o controle de cookies HTTP ao se comunicar com o servidor. |
| HttpCompletionOption |
Indica se HttpClient operações devem ser consideradas concluídas assim que uma resposta estiver disponível ou depois de ler 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 para HttpRequestException ou HttpIOException. |
| HttpVersionPolicy |
Especifica comportamentos para selecionar e negociar a versão HTTP para uma solicitação. |
| WindowsProxyUsePolicy |
Essa enumeração fornece opções disponíveis para as configurações de proxy usadas por um HttpClient ao executar no Windows. |
Delegados
| Nome | Description |
|---|---|
| HeaderEncodingSelector<TContext> |
Representa um método que especifica a codificação a ser usada ao interpretar valores de cabeçalho. |
Comentários
O System.Net.Http namespace foi projetado para fornecer os seguintes componentes:
- 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 você pode usar:
- DelegatingHandler - Uma classe usada para conectar um manipulador a uma cadeia de manipuladores.
- HttpMessageHandler – Uma classe simples a ser derivada disso 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.
O conteúdo de uma mensagem HTTP corresponde ao corpo da entidade definido no RFC 2616.
As seguintes classes podem ser usadas para conteúdo HTTP:
- 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 de aplicativo/x-www-form-urlencoded.
- MultipartContent - Conteúdo HTTP que é serializado usando a especificação de tipo de conteúdo multipart/*.
- 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 o aplicativo usa os System.Net.Http namespaces e System.Net.Http.Headers pretende baixar grandes quantidades de dados (50 megabytes ou mais), ele deve transmitir esses downloads e não usar o buffer padrão. Se você usar o buffer padrão, o uso da memória do cliente ficará muito grande, potencialmente resultando em um desempenho substancialmente reduzido.