System.Net.Http Espaço de Nomes

Fornece uma interface de programação para aplicações HTTP modernas.

Classes

Name Description
ByteArrayContent

Fornece conteúdo HTTP baseado num array de bytes.

DelegatingHandler

Um tipo para handlers HTTP que delega o processamento das mensagens de resposta HTTP a outro handler, chamado handler interno.

FormUrlEncodedContent

Um contentor para tuplas nome/valor codificadas usando o tipo MIME application/x-www-form-urlencoded.

HttpClient

Fornece uma classe para enviar pedidos 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 predefinido usado por HttpClient no .NET Framework.

HttpContent

Uma classe base que representa o corpo de uma entidade HTTP e os cabeçalhos de conteúdo.

HttpDiagnosticsHttpRequestMessageExtensions

Extensões para utilidades de telemetria.

HttpIOException

A exceção que é lançada 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 especial que permite às aplicações chamar o SendAsync(HttpRequestMessage, CancellationToken) método numa cadeia de handler 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 lançada quando ocorre um erro de protocolo HTTP/2 ou HTTP/3.

HttpRequestException

Uma classe base para exceções lançadas pelas HttpClient classes e HttpMessageHandler .

HttpRequestMessage

Representa uma mensagem de pedido HTTP.

HttpRequestOptions

Representa um conjunto de opções para um pedido HTTP.

HttpResilienceHttpRequestMessageExtensions

As extensões de resiliência para HttpRequestMessage.

HttpResponseMessage

Representa uma mensagem de resposta HTTP que inclui o código de estado e os dados.

MessageProcessingHandler

Um tipo base para handlers que só fazem algum processamento pequeno de mensagens de pedido 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 contentor para conteúdo codificado usando o tipo MIME multipart/form-data.

ReadOnlyMemoryContent

Fornece conteúdo HTTP com base num ReadOnlyMemory<T>.

RtcRequestFactory

Fornece uma interface de programação para aplicações HTTP modernas.

SocketsHttpConnectionContext

Representa o contexto passado para uma ConnectCallbackSocketsHttpHandler instância. .

SocketsHttpHandler

Fornece o manipulador de mensagens predefinido usado por HttpClient.

SocketsHttpPlaintextStreamFilterContext

Representa o contexto passado para o PlaintextStreamFilter para uma instância SocketsHttpHandler.

StreamContent

Fornece conteúdo HTTP baseado num fluxo.

StringContent

Fornece conteúdo HTTP baseado numa cadeia.

WebRequestHandler

Fornece funcionalidades específicas para ambiente de trabalho que não estão disponíveis para aplicações da Windows Store ou outros ambientes.

WinHttpHandler

Trata mensagens com base na interface WinHTTP do Windows. Esta classe destina-se a ser utilizada em ambientes de servidor.

Estruturas

Name Description
HttpRequestOptionsKey<TValue>

Representa uma chave na coleção de opções para um pedido HTTP.

Interfaces

Name Description
IHttpClientFactory

Uma abstração de fábrica para um componente que pode criar HttpClient instâncias com configuração personalizada para um dado 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 dado nome lógico.

Enumerações

Name Description
ClientCertificateOption

Especifica como os certificados do cliente são fornecidos.

CookieUsePolicy

Esta enumeração permite o controlo dos cookies HTTP ao comunicar com o servidor.

HttpCompletionOption

Indica se HttpClient as operações devem ser consideradas concluídas assim que uma resposta estiver disponível, ou após ler toda a mensagem de resposta, incluindo o conteúdo.

HttpKeepAlivePingPolicy

Especifica quando o frame ping HTTP/2 é enviado numa ligação inativa.

HttpRequestError

Define categorias de erro que representam a razão para HttpRequestException ou HttpIOException.

HttpVersionPolicy

Especifica comportamentos para selecionar e negociar a versão HTTP de um pedido.

WindowsProxyUsePolicy

Esta enumeração fornece opções disponíveis para as definições de proxy usadas por um HttpClient ao correr em Windows.

Delegados

Name Description
HeaderEncodingSelector<TContext>

Representa um método que especifica a codificação a usar ao interpretar valores de cabeçalho.

Observações

O System.Net.Http espaço de nomes foi concebido para fornecer os seguintes componentes:

  • Componentes cliente HTTP que permitem aos utilizadores consumir serviços web modernos via HTTP.
  • Componentes HTTP que podem ser usados tanto por clientes como por servidores (cabeçalhos e mensagens HTTP, por exemplo). Isto proporciona um modelo de programação consistente tanto do lado do cliente como do servidor para serviços web modernos via HTTP.

O System.Net.Http espaço de nomes e o espaço de nomes relacionado System.Net.Http.Headers fornecem o seguinte conjunto de componentes:

Existem vários manipuladores de mensagens HTTP que pode usar:

  • DelegatingHandler - Uma classe usada para ligar um handler a uma cadeia de handler.
  • HttpMessageHandler - Uma classe simples de onde derivar que suporta os requisitos mais comuns para a maioria das aplicações.
  • HttpClientHandler - Uma classe que opera na base da cadeia de handlers e que realmente gere 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:

Se a sua aplicação usa os System.Net.Http namespaces e System.Net.Http.Headers pretende descarregar grandes quantidades de dados (50 megabytes ou mais), então deve transmitir esses downloads e não usar o buffering padrão. Se você usar o buffer padrão, o uso de memória do cliente ficará muito grande, resultando potencialmente em desempenho substancialmente reduzido.

Ver também