System.Net.Http Espaço de Nomes
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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:
- HttpClient - A classe principal usada para enviar e receber pedidos via HTTP.
- HttpRequestMessage e HttpResponseMessage - Mensagens HTTP conforme definido no RFC 2616 pelo IETF.
- HttpHeaders - Cabeçalhos HTTP conforme definidos na RFC 2616 pelo IETF.
- HttpClientHandler - Manipuladores HTTP responsáveis pela produção de mensagens de resposta HTTP.
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:
- ByteArrayContent - Conteúdo HTTP baseado num array de bytes.
- FormUrlEncodedContent - Conteúdo HTTP de tuplas 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 multipart/*.
- MultipartFormDataContent - Conteúdo HTTP codificado usando o tipo MIME multipart/form-data.
- StreamContent - Conteúdo HTTP baseado num fluxo.
- StringContent - Conteúdo HTTP baseado numa cadeia.
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.