System.Net.Http Namespace

O namespace System.Net.Http fornece uma interface de programação para aplicativos HTTP modernos. The System.Net.Http namespace provides a programming interface for modern HTTP applications.

Classes

ByteArrayContent

Fornece conteúdo HTTP baseado em uma matriz de bytes.Provides HTTP content based on a byte array.

CFNetworkHandler
DelegatingHandler

Um tipo para manipuladores de HTTP que delegam o processamento de mensagens de resposta HTTP para outro manipulador, chamado de manipulador interno.A type for HTTP handlers that delegate the processing of HTTP response messages to another handler, called the inner handler.

FormUrlEncodedContent

Um contêiner para tuplas de nome/valor codificadas usando o tipo MIME application/x-www-form-urlencoded.A container for name/value tuples encoded using application/x-www-form-urlencoded MIME type.

HttpClient

Fornece uma classe base para enviar solicitações HTTP e receber respostas HTTP de um recurso identificado por um URI.Provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.

HttpClientFactoryExtensions

Métodos de extensões para IHttpClientFactory.Extensions methods for IHttpClientFactory.

HttpClientHandler

O manipulador de mensagens padrão usado pelo HttpClient no .NET Framework e .NET Core 2.0 e versões anteriores.The default message handler used by HttpClient in .NET Framework and .NET Core 2.0 and earlier.

HttpContent

Uma classe base que representa um corpo de entidade HTTP e cabeçalhos de conteúdo.A base class representing an HTTP entity body and content headers.

HttpMessageHandler

Um tipo base para manipuladores de mensagens HTTP.A base type for HTTP message handlers.

HttpMessageHandlerFactoryExtensions

Métodos de extensões para IHttpMessageHandlerFactory.Extensions methods for IHttpMessageHandlerFactory.

HttpMessageInvoker

Uma classe de especialidade que permite que os aplicativos chamem o método SendAsync(HttpRequestMessage, CancellationToken) em uma cadeia de manipulador HTTP.A specialty class that allows applications to call the SendAsync(HttpRequestMessage, CancellationToken) method on an HTTP handler chain.

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.A helper class for retrieving and comparing standard HTTP methods and for creating new HTTP methods.

HttpRequestException

Uma classe base para exceções lançadas pelo HttpClient e pelas classes HttpMessageHandler.A base class for exceptions thrown by the HttpClient and HttpMessageHandler classes.

HttpRequestMessage

Representa uma mensagem de solicitação HTTP.Represents a HTTP request message.

HttpResponseMessage

Representa uma mensagem de resposta HTTP incluindo o código de status e os dados.Represents a HTTP response message including the status code and data.

MessageProcessingHandler

Um tipo base para manipuladores que realizam apenas pequenos processamentos de mensagens de solicitação de e/ou resposta.A base type for handlers which only do some small processing of request and/or response messages.

MultipartContent

Fornece uma coleção de objetos HttpContent que são serializados utilizando a especificação de tipo de conteúdo com diversas partes/*.Provides a collection of HttpContent objects that get serialized using the multipart/* content type specification.

MultipartFormDataContent

Fornece um contêiner para conteúdo codificado usando o tipo MIME de várias partes/dados de formulário.Provides a container for content encoded using multipart/form-data MIME type.

NSUrlSessionHandler

O manipulador de mensagens padrão usado por HttpClient em plataformas Apple que usam a pilha do Xamarin (iOS, macOS, watchOS, tvOS)The default message handler used by HttpClient on Apple platforms using the Xamarin stack (iOS, macOS, watchOS, tvOS)

ReadOnlyMemoryContent
RtcRequestFactory
SocketsHttpHandler

Oferece o manipulador de mensagens padrão usado pelo HttpClient no .NET Core 2.1 e versões anteriores.Provides the default message handler used by HttpClient in .NET Core 2.1 and later.

StreamContent

Fornece conteúdo HTTP baseado em um fluxo.Provides HTTP content based on a stream.

StringContent

Fornece conteúdo HTTP baseado em uma cadeia de caracteres.Provides HTTP content based on a string.

WebRequestHandler

Fornece recursos específicos da área de trabalho não disponíveis para aplicativos da Windows Store ou em outros ambientes.Provides desktop-specific features not available to Windows Store apps or other environments.

WinHttpHandler

WinHttpHandler é um manipulador de mensagens especiais baseado na interface do WinHTTP do Windows e destina-se ao uso em ambientes de servidor.WinHttpHandler is a specialty message handler based on the WinHTTP interface of Windows and is intended for use in server environments. Essa classe também está disponível para uso em aplicativos da Área de Trabalho instalando-os como um pacote do NuGet.This class is also available for use in Desktop apps by installing it as a NuGet package. Para obter mais informações sobre como instalar essa classe para uso em aplicativos de Área de Trabalho, consulte System.Net.Http.WinHttpHandler.For more information about installing this class for use in Desktop apps, see System.Net.Http.WinHttpHandler.

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.A factory abstraction for a component that can create HttpClient instances with custom configuration for a given logical name.

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.A factory abstraction for a component that can create HttpMessageHandler instances with custom configuration for a given logical name.

Enumerações

ClientCertificateOption

Especifica como os certificados de cliente são fornecidos.Specifies how client certificates are provided.

CookieUsePolicy

Essa enumeração permite o controle de cookies HTTP ao se comunicar com o servidor.This enumeration allows control of HTTP cookies when communicating with the server.

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.Indicates if HttpClient operations should be considered completed either as soon as a response is available, or after reading the entire response message including the content.

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.This enumeration provides available options for the proxy settings used by an HttpClient when running on Windows.

Comentários

O System.Net.Http namespace foi projetado para fornecer o seguinte:The System.Net.Http namespace is designed to provide the following:

  1. Componentes de cliente HTTP que permitem aos usuários consumir serviços web modernos por HTTP.HTTP client components that allow users to consume modern web services over HTTP.

  2. Componentes HTTP que podem ser usados por clientes e servidores (cabeçalhos HTTP e mensagens, por exemplo).HTTP components that can be used by both clients and servers (HTTP headers and messages, for example). Isso fornece um modelo de programação consistente no cliente e lado do servidor para serviços da web via HTTP.This provides a consistent programming model on both the client and the server side for modern web services over HTTP.

O System.Net.Http namespace e relacionado System.Net.Http.Headers namespace fornecem o seguinte conjunto de componentes:The System.Net.Http namespace and the related System.Net.Http.Headers namespace provide the following set of components:

  1. HttpClient -a classe primária usada para enviar e receber solicitações via HTTP.HttpClient - the primary class used to send and receive requests over HTTP.

  2. HttpRequestMessage e HttpResponseMessage -mensagens de HTTP, conforme definido na RFC 2616 pela IETF.HttpRequestMessage and HttpResponseMessage - HTTP messages as defined in RFC 2616 by the IETF.

  3. HttpHeaders -Cabeçalhos HTTP conforme definido na RFC 2616 pela IETF.HttpHeaders - HTTP headers as defined in RFC 2616 by the IETF.

  4. HttpClientHandler -Manipuladores de HTTP responsáveis por produzir mensagens de resposta HTTP.HttpClientHandler - HTTP handlers responsible for producing HTTP response messages.

Há vários identificadores de mensagem HTTP que podem ser usados.There are various HTTP message handles that can be used. Eles incluem o seguinte.These include the following.

  1. DelegatingHandler -Uma classe usada para conectar um manipulador em uma cadeia de manipulador.DelegatingHandler - A class used to plug a handler into a handler chain.

  2. HttpMessageHandler -Um simples à classe para derivar de que dá suporte a requisitos mais comuns para a maioria dos aplicativos.HttpMessageHandler - A simple to class to derive from that supports the most common requirements for most applications.

  3. HttpClientHandler -Uma classe que opera na parte inferior da cadeia de manipulador que realmente manipula as operações de transporte HTTP.HttpClientHandler - A class that operates at the bottom of the handler chain that actually handles the HTTP transport operations.

  4. WebRequestHandler -Uma classe de especialidade que opera na parte inferior da classe de cadeia de manipulador que manipula as operações de transporte HTTP com as opções que são específicas para o System.Net.HttpWebRequest objeto.WebRequestHandler - A specialty class that operates at the bottom of the handler chain class that handles HTTP transport operations with options that are specific to the System.Net.HttpWebRequest object.

O conteúdo de uma mensagem HTTP corresponde ao corpo da entidade definido na RFC 2616.The contents of an HTTP message corresponds to the entity body defined in RFC 2616.

Um número de classes pode ser usado para o conteúdo HTTP.A number of classes can be used for HTTP content. Eles incluem o seguinte.These include the following.

  1. ByteArrayContent -Conteúdo HTTP baseado em uma matriz de bytes.ByteArrayContent - HTTP content based on a byte array.

  2. FormUrlEncodedContent -Conteúdo HTTP de tuplas de nome/valor codificadas usando o application/x-www-form-urlencoded tipo MIME.FormUrlEncodedContent - HTTP content of name/value tuples encoded using application/x-www-form-urlencoded MIME type.

  3. MultipartContent -Conteúdo HTTP que é serializado usando a multipart / * a especificação de tipo de conteúdo.MultipartContent - HTTP content that gets serialized using the multipart/* content type specification.

  4. MultipartFormDataContent -Conteúdo HTTP codificado usando o tipo MIME multipart/form-data.MultipartFormDataContent - HTTP content encoded using the multipart/form-data MIME type.

  5. StreamContent -Conteúdo HTTP baseado em um fluxo.StreamContent - HTTP content based on a stream.

  6. StringContent -Conteúdo HTTP baseado em uma cadeia de caracteres.StringContent - HTTP content based on a string.

Se um aplicativo usando o System.Net.Http e System.Net.Http.Headers namespaces pretende baixar grandes quantidades de dados (50 megabytes ou mais), em seguida, o aplicativo deve transmitir esses downloads e não usar o armazenamento em buffer padrão.If an app using the System.Net.Http and System.Net.Http.Headers namespaces intends to download large amounts of data (50 megabytes or more), then the app should stream those downloads and not use the default buffering. Se o armazenamento em buffer padrão é usado o uso de memória do cliente obterá muito grande, possivelmente resultando em substancialmente o desempenho reduzido.If the default buffering is used the client memory usage will get very large, potentially resulting in substantially reduced performance.

As classes de System.Net.Http e System.Net.Http.Headers namespaces podem ser usados para desenvolver aplicativos da Windows Store ou aplicativos da área de trabalho.Classes in the System.Net.Http and System.Net.Http.Headers namespaces can be used to develop Windows Store apps or desktop apps. Quando usado em um aplicativo da Windows Store, as classes a System.Net.Http e System.Net.Http.Headers namespaces são afetados pelo recurso de isolamento de rede, parte do modelo de segurança de aplicativo usado pelo Windows 8Windows 8.When used in a Windows Store app, classes in the System.Net.Http and System.Net.Http.Headers namespaces are affected by network isolation feature, part of the application security model used by the Windows 8Windows 8. Os recursos de rede apropriado devem ser habilitados no manifesto do aplicativo para um aplicativo da Windows Store para o sistema permitir o acesso à rede por um aplicativo da Windows store.The appropriate network capabilities must be enabled in the app manifest for a Windows Store app for the system to allow network access by a Windows store app. Para obter mais informações, consulte o Isolamento de Rede para Aplicativos da Windows Store.For more information, see the Network Isolation for Windows Store Apps.

Veja também