Compartilhar via


System.Net.Http Namespace

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:

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.

Confira também