HttpClient Classe

Definição

Fornece uma classe para enviar solicitações HTTP e receber respostas HTTP de um recurso identificado por um URI.

public ref class HttpClient : System::Net::Http::HttpMessageInvoker
public class HttpClient : System.Net.Http.HttpMessageInvoker
type HttpClient = class
    inherit HttpMessageInvoker
Public Class HttpClient
Inherits HttpMessageInvoker
Herança

Exemplos

// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
static readonly HttpClient client = new HttpClient();

static async Task Main()
{
  // Call asynchronous network methods in a try/catch block to handle exceptions.
  try	
  {
     HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
     response.EnsureSuccessStatusCode();
     string responseBody = await response.Content.ReadAsStringAsync();
     // Above three lines can be replaced with new helper method below
     // string responseBody = await client.GetStringAsync(uri);

     Console.WriteLine(responseBody);
  }
  catch(HttpRequestException e)
  {
     Console.WriteLine("\nException Caught!");	
     Console.WriteLine("Message :{0} ",e.Message);
  }
}
open System.Net.Http

// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
let client = new HttpClient()

let main =
    task {
        // Call asynchronous network methods in a try/catch block to handle exceptions.
        try
            let! response = client.GetAsync "http://www.contoso.com/"
            response.EnsureSuccessStatusCode() |> ignore
            let! responseBody = response.Content.ReadAsStringAsync()
            // Above three lines can be replaced with new helper method below
            // let! responseBody = client.GetStringAsync uri

            printfn $"{responseBody}"
        with
        | :? HttpRequestException as e ->
            printfn "\nException Caught!"
            printfn $"Message :{e.Message} "
    }

main.Wait()
' HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
Shared ReadOnly client As HttpClient = New HttpClient()

Private Shared Async Function Main() As Task
    ' Call asynchronous network methods in a try/catch block to handle exceptions.
    Try
        Dim response As HttpResponseMessage = Await client.GetAsync("http://www.contoso.com/")
        response.EnsureSuccessStatusCode()
        Dim responseBody As String = Await response.Content.ReadAsStringAsync()
        ' Above three lines can be replaced with new helper method below
        ' Dim responseBody As String = Await client.GetStringAsync(uri)

        Console.WriteLine(responseBody)
    Catch e As HttpRequestException
        Console.WriteLine(Environment.NewLine & "Exception Caught!")
        Console.WriteLine("Message :{0} ", e.Message)
    End Try
End Function

O exemplo de código anterior usa um async Task Main() ponto de entrada. Esse recurso requer C# 7.1 ou posterior.

Comentários

A HttpClient instância de classe atua como uma sessão para enviar solicitações HTTP. Uma HttpClient instância é uma coleção de configurações aplicadas a todas as solicitações executadas por essa instância. Além disso, cada HttpClient instância usa seu próprio pool de conexões, isolando suas solicitações de solicitações executadas por outras HttpClient instâncias.

Instanciação

HttpClient destina-se a ser instanciado uma vez e reutilizado durante toda a vida útil de um aplicativo. O HttpClient foi projetado para agrupar conexões e reutilizar uma conexão entre várias solicitações. Se você criar uma instância de uma classe HttpClient para cada solicitação, o número de soquetes disponíveis em cargas pesadas será esgotado. Esse esgotamento resultará em SocketException erros. Veja a seguir um exemplo que usa HttpClient corretamente.

public class GoodController : ApiController
{
    private static readonly HttpClient HttpClient;

    static GoodController()
    {
        HttpClient = new HttpClient();
    }
}
type GoodController() =
    inherit ApiController()
    let httpClient = new HttpClient()
  Public Class GoodController
    Inherits ApiController  

    Private Shared ReadOnly HttpClient As HttpClient  

    Shared Sub New()  
        HttpClient = New HttpClient()
    End Sub
End Class

Você pode configurar opções adicionais passando um "manipulador", como HttpClientHandler (ou SocketsHttpHandler no .NET Core 2.1 ou posterior), como parte do construtor. As propriedades de conexão no manipulador não podem ser alteradas depois que uma solicitação é enviada, portanto, um motivo para criar uma nova instância httpClient seria se você precisasse alterar as propriedades de conexão. Se solicitações diferentes exigirem configurações diferentes, isso também poderá levar um aplicativo a ter várias HttpClient instâncias, em que cada instância está configurada adequadamente e, em seguida, as solicitações são emitidas no cliente relevante.

Derivação

O HttpClient também atua como uma classe base para clientes HTTP mais específicos. Um exemplo seria um FacebookHttpClient que fornece métodos adicionais específicos para um serviço Web do Facebook (por exemplo, um GetFriends método). Classes derivadas não devem substituir os métodos virtuais na classe. Em vez disso, use uma sobrecarga de construtor que aceite HttpMessageHandler configurar qualquer processamento pré-solicitação ou pós-solicitação.

Transportes

É HttpClient uma API de alto nível que encapsula a funcionalidade de nível inferior disponível em cada plataforma em que ela é executada.

Em cada plataforma, HttpClient tenta usar o melhor transporte disponível:

Host/Runtime Back-end
Windows/.NET Framework HttpWebRequest
Windows/Mono HttpWebRequest
Windows/UWP Windows nativo WinHttpHandler (com capacidade para HTTP 2.0)
Windows/.NET Core 1.0-2.0 Windows nativo WinHttpHandler (com capacidade para HTTP 2.0)
Android/Xamarin Selecionado em tempo de build. Pode usar HttpWebRequest ou ser configurado para usar o nativo do AndroidHttpURLConnection
iOS, tvOS, watchOS/Xamarin Selecionado em tempo de build. Pode usar HttpWebRequest ou ser configurado para usar o da NSUrlSession Apple (com capacidade para HTTP 2.0)
macOS/Xamarin Selecionado em tempo de build. Pode usar HttpWebRequest ou ser configurado para usar o da NSUrlSession Apple (com capacidade para HTTP 2.0)
macOS/Mono HttpWebRequest
macOS/.NET Core 1.0-2.0 libcurl-based HTTP transport (http 2.0 capable)
Linux/Mono HttpWebRequest
Linux/.NET Core 1.0-2.0 libcurl-based HTTP transport (http 2.0 capable)
.NET Core 2.1 e posterior System.Net.Http.SocketsHttpHandler

Os usuários também podem configurar um transporte específico para HttpClient invocar o HttpClient construtor que usa um HttpMessageHandler.

.NET Framework & Mono

Por padrão, em .NET Framework e Mono, HttpWebRequest é usado para enviar solicitações para o servidor. Esse comportamento pode ser modificado especificando um manipulador diferente em uma das sobrecargas do construtor com um HttpMessageHandler parâmetro. Se você precisar de recursos como autenticação ou cache, poderá usar WebRequestHandler para definir configurações e a instância poderá ser passada para o construtor. O manipulador retornado pode ser passado para uma sobrecarga de construtor que tem um HttpMessageHandler parâmetro.

.NET Core

A partir do .NET Core 2.1, a System.Net.Http.SocketsHttpHandler classe em vez de HttpClientHandler fornecer a implementação usada por classes de rede HTTP de nível superior, como HttpClient. O uso de SocketsHttpHandler ofertas uma série de vantagens:

  • Uma melhoria de desempenho significativa quando comparada com a implementação anterior.
  • A eliminação de dependências de plataforma, que simplifica a implantação e a manutenção. Por exemplo, libcurl não é mais uma dependência do .NET Core para macOS e .NET Core para Linux.
  • Comportamento consistente em todas as plataformas .NET.

Se essa alteração for indesejável, em Windows você poderá continuar a usar WinHttpHandler referenciando seu pacote NuGet e passando-o para o construtor do HttpClient manualmente.

Configurar comportamento usando opções de configuração de runtime

Determinados aspectos do comportamento são HttpClientpersonalizáveis por meio de opções de configuração do Runtime. No entanto, o comportamento dessas opções difere por meio de versões do .NET. Por exemplo, no .NET Core 2.1 – 3.1, você pode configurar se SocketsHttpHandler é usado por padrão, mas essa opção não está mais disponível a partir do .NET 5.0.

Pool de conexões

O HttpClient agrupa conexões HTTP sempre que possível e as usa para mais de uma solicitação. Isso pode ter um benefício de desempenho significativo, especialmente para solicitações HTTPS, já que o handshake de conexão só é feito uma vez.

As propriedades do pool de conexões podem ser configuradas em um HttpClientHandler ou SocketsHttpHandler passado durante a construção, incluindo MaxConnectionsPerServer, PooledConnectionIdleTimeoute PooledConnectionLifetime.

A eliminação da instância httpClient fecha as conexões abertas e cancela as solicitações pendentes.

Tempo de vida de buffer e solicitação

Por padrão, os métodos HttpClient (exceto GetStreamAsync) armazenam em buffer as respostas do servidor, lendo todo o corpo da resposta na memória antes de retornar o resultado assíncrono. Essas solicitações continuarão até que ocorra um destes procedimentos:

Você pode alterar o comportamento de buffer por solicitação usando o HttpCompletionOption parâmetro disponível em algumas sobrecargas de método. Esse argumento pode ser usado para especificar se o Task<TResult> deve ser considerado concluído depois de ler apenas os cabeçalhos de resposta ou depois de ler e armazenar o conteúdo da resposta em buffer.

Se o System.Net.Http aplicativo que usa e classes relacionadas HttpClient no namespace pretende baixar grandes quantidades de dados (50 megabytes ou mais), o aplicativo 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, resultando em um desempenho substancialmente reduzido.

Acesso thread-safe

Os seguintes métodos são thread safe:

Proxies

Por padrão, o HttpClient lê a configuração de proxy de variáveis de ambiente ou configurações de usuário/sistema, dependendo da plataforma. Você pode alterar esse comportamento passando um WebProxy ou IWebProxy para, em ordem de precedência:

  • A Proxy propriedade em um HttpClientHandler passou durante a construção httpClient
  • A DefaultProxy propriedade estática (afeta todas as instâncias)

Você pode desabilitar o proxy usando UseProxy. A configuração padrão para Windows usuários é tentar detectar um proxy usando a descoberta de rede, o que pode ser lento. Para aplicativos de alta taxa de transferência em que se sabe que um proxy não é necessário, você deve desabilitar o proxy.

Tempos limite

Você pode usar Timeout para definir um tempo limite padrão para todas as solicitações HTTP da instância httpClient. O tempo limite só se aplica aos métodos xxxAsync que fazem com que uma solicitação/resposta seja iniciada. Se o tempo limite for atingido, a Task<TResult> solicitação será cancelada.

Você pode definir alguns tempos limite adicionais se passar uma SocketsHttpHandler instância ao construir o objeto HttpClient:

Propriedade Descrição
ConnectTimeout Especifica um tempo limite usado quando uma solicitação requer a criação de uma nova conexão TCP. Se o tempo limite ocorrer, a solicitação Task<TResult> será cancelada.
PooledConnectionLifetime Especifica um tempo limite a ser usado para cada conexão no pool de conexões. Se a conexão estiver ociosa, a conexão será imediatamente fechada; caso contrário, a conexão é fechada no final da solicitação atual.
PooledConnectionIdleTimeout Se uma conexão no pool de conexões estiver ociosa por tanto tempo, a conexão será fechada.
Expect100ContinueTimeout Se a solicitação tiver um cabeçalho "Esperar: 100 continuar", ela atrasará o envio de conteúdo até o tempo limite ou até que uma resposta "100 continue" seja recebida.

O HttpClient só resolve as entradas DNS quando as conexões são criadas. Ele não controla as durações de TTL (tempo de vida útil) especificadas pelo servidor DNS. Se as entradas DNS estiverem mudando regularmente, o que pode acontecer em alguns cenários de contêiner, você poderá usar para PooledConnectionLifetime limitar o tempo de vida da conexão para que a pesquisa DNS seja necessária ao substituir a conexão.

Construtores

HttpClient()

Inicializa uma nova instância da classe HttpClient usando um HttpClientHandler que é descartado quando essa instância é descartada.

HttpClient(HttpMessageHandler)

Inicializa uma nova instância da classe HttpClient com o manipulador especificado. O manipulador é descartado quando essa instância é descartada.

HttpClient(HttpMessageHandler, Boolean)

Inicializa uma nova instância da classe HttpClient com o manipulador fornecido e especifica se esse manipulador deverá ser descartado quando essa instância for descartada.

Propriedades

BaseAddress

Obtém ou define o endereço básico do URI (Uniform Resource Identifier) do recurso da Internet usado ao enviar solicitações.

DefaultProxy

Obtém ou define o proxy HTTP global.

DefaultRequestHeaders

Obtém os cabeçalhos que devem ser enviados com cada solicitação.

DefaultRequestVersion

Obtém ou define a versão HTTP padrão usada em solicitações posteriores feitas por essa instância de HttpClient.

DefaultVersionPolicy

Obtém ou define a política de versão padrão para solicitações criadas implicitamente em métodos de conveniência, por exemplo, GetAsync(String) e PostAsync(String, HttpContent).

MaxResponseContentBufferSize

Obtém ou define o número máximo de bytes armazenados no buffer ao ler o conteúdo da resposta.

Timeout

Obtém ou define o período de tempo de espera antes que a solicitação expire.

Métodos

CancelPendingRequests()

Cancele todas as solicitações pendentes nessa instância.

DeleteAsync(String)

Envie uma solicitação DELETE para o URI especificado como uma operação assíncrona.

DeleteAsync(String, CancellationToken)

Envie uma solicitação DELETE para o URI especificado com um token de cancelamento como uma operação assíncrona.

DeleteAsync(Uri)

Envie uma solicitação DELETE para o URI especificado como uma operação assíncrona.

DeleteAsync(Uri, CancellationToken)

Envie uma solicitação DELETE para o URI especificado com um token de cancelamento como uma operação assíncrona.

Dispose()

Libera os recursos não gerenciados e descarta aqueles gerenciados usados pelo HttpMessageInvoker.

(Herdado de HttpMessageInvoker)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo HttpClient e, opcionalmente, descarta os recursos gerenciados.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetAsync(String)

Envie uma solicitação GET para o URI especificado como uma operação assíncrona.

GetAsync(String, CancellationToken)

Envie uma solicitação GET para o URI especificado com um token de cancelamento como uma operação assíncrona.

GetAsync(String, HttpCompletionOption)

Envie uma solicitação GET para o URI especificado com uma opção de conclusão de HTTP como uma operação assíncrona.

GetAsync(String, HttpCompletionOption, CancellationToken)

Envie uma solicitação GET para o URI especificado com uma opção de conclusão de HTTP e um token de cancelamento como uma operação assíncrona.

GetAsync(Uri)

Envie uma solicitação GET para o URI especificado como uma operação assíncrona.

GetAsync(Uri, CancellationToken)

Envie uma solicitação GET para o URI especificado com um token de cancelamento como uma operação assíncrona.

GetAsync(Uri, HttpCompletionOption)

Envie uma solicitação GET para o URI especificado com uma opção de conclusão de HTTP como uma operação assíncrona.

GetAsync(Uri, HttpCompletionOption, CancellationToken)

Envie uma solicitação GET para o URI especificado com uma opção de conclusão de HTTP e um token de cancelamento como uma operação assíncrona.

GetByteArrayAsync(String)

Envia uma solicitação GET para o Uri especificado e retorna o corpo da resposta como uma matriz de bytes em uma operação assíncrona.

GetByteArrayAsync(String, CancellationToken)

Envia uma solicitação GET para o Uri especificado e retorna o corpo da resposta como uma matriz de bytes em uma operação assíncrona.

GetByteArrayAsync(Uri)

Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma matriz de bytes em uma operação assíncrona.

GetByteArrayAsync(Uri, CancellationToken)

Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma matriz de bytes em uma operação assíncrona.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetStreamAsync(String)

Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como um fluxo em uma operação assíncrona.

GetStreamAsync(String, CancellationToken)

Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como um fluxo em uma operação assíncrona.

GetStreamAsync(Uri)

Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como um fluxo em uma operação assíncrona.

GetStreamAsync(Uri, CancellationToken)

Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como um fluxo em uma operação assíncrona.

GetStringAsync(String)

Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma operação assíncrona.

GetStringAsync(String, CancellationToken)

Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma operação assíncrona.

GetStringAsync(Uri)

Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma operação assíncrona.

GetStringAsync(Uri, CancellationToken)

Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma operação assíncrona.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
PatchAsync(String, HttpContent)

Envia uma solicitação PATCH a um URI designado como uma cadeia de caracteres, como uma operação assíncrona.

PatchAsync(String, HttpContent, CancellationToken)

Envia uma solicitação PATCH com um token de cancelamento a um URI representado como uma cadeia de caracteres, como uma operação assíncrona.

PatchAsync(Uri, HttpContent)

Envia uma solicitação PATCH como uma operação assíncrona.

PatchAsync(Uri, HttpContent, CancellationToken)

Envia uma solicitação PATCH com um token de cancelamento como uma operação assíncrona.

PostAsync(String, HttpContent)

Envie uma solicitação POST para o URI especificado como uma operação assíncrona.

PostAsync(String, HttpContent, CancellationToken)

Envie uma solicitação POST com um token de cancelamento como uma operação assíncrona.

PostAsync(Uri, HttpContent)

Envie uma solicitação POST para o URI especificado como uma operação assíncrona.

PostAsync(Uri, HttpContent, CancellationToken)

Envie uma solicitação POST com um token de cancelamento como uma operação assíncrona.

PutAsync(String, HttpContent)

Envie uma solicitação PUT para o URI especificado como uma operação assíncrona.

PutAsync(String, HttpContent, CancellationToken)

Envie uma solicitação PUT com um token de cancelamento como uma operação assíncrona.

PutAsync(Uri, HttpContent)

Envie uma solicitação PUT para o URI especificado como uma operação assíncrona.

PutAsync(Uri, HttpContent, CancellationToken)

Envie uma solicitação PUT com um token de cancelamento como uma operação assíncrona.

Send(HttpRequestMessage)

Envia uma solicitação HTTP com a solicitação especificada.

Send(HttpRequestMessage, CancellationToken)

Envia uma solicitação HTTP com a solicitação e o token de cancelamento especificados.

Send(HttpRequestMessage, CancellationToken)

Envia uma solicitação HTTP com a solicitação e o token de cancelamento especificados.

(Herdado de HttpMessageInvoker)
Send(HttpRequestMessage, HttpCompletionOption)

Envia uma solicitação HTTP.

Send(HttpRequestMessage, HttpCompletionOption, CancellationToken)

Envia uma solicitação HTTP com a solicitação especificada, a opção de conclusão e o token de cancelamento.

SendAsync(HttpRequestMessage)

Envie uma solicitação HTTP como uma operação assíncrona.

SendAsync(HttpRequestMessage, CancellationToken)

Envie uma solicitação HTTP como uma operação assíncrona.

SendAsync(HttpRequestMessage, HttpCompletionOption)

Envie uma solicitação HTTP como uma operação assíncrona.

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

Envie uma solicitação HTTP como uma operação assíncrona.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Métodos de Extensão

GetFromJsonAsync(HttpClient, String, Type, JsonSerializerOptions, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

GetFromJsonAsync(HttpClient, String, Type, JsonSerializerContext, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

GetFromJsonAsync(HttpClient, String, Type, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerOptions, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerContext, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

GetFromJsonAsync(HttpClient, Uri, Type, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

GetFromJsonAsync<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

GetFromJsonAsync<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

GetFromJsonAsync<TValue>(HttpClient, String, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

GetFromJsonAsync<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

GetFromJsonAsync<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

GetFromJsonAsync<TValue>(HttpClient, Uri, CancellationToken)

Envia uma solicitação GET para o URI especificado e retorna o valor resultante da desserialização do corpo da resposta como um JSON em uma operação assíncrona.

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

Envia uma solicitação PATCH para o Uri especificado que contém o value serializado como JSON no corpo da solicitação.

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

Envia uma solicitação PATCH para o Uri especificado que contém o value serializado como JSON no corpo da solicitação.

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

Envia uma solicitação PATCH para o Uri especificado que contém o value serializado como JSON no corpo da solicitação.

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

Envia uma solicitação PATCH para o Uri especificado que contém o value serializado como JSON no corpo da solicitação.

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

Envia uma solicitação PATCH para o Uri especificado que contém o value serializado como JSON no corpo da solicitação.

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

Envia uma solicitação PATCH para o Uri especificado que contém o value serializado como JSON no corpo da solicitação.

PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

Envia uma solicitação POST ao URI especificado que contém o value serializado como JSON no corpo da solicitação.

PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

Envia uma solicitação POST ao URI especificado que contém o value serializado como JSON no corpo da solicitação.

PostAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

Envia uma solicitação POST ao URI especificado que contém o value serializado como JSON no corpo da solicitação.

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

Envia uma solicitação POST ao URI especificado que contém o value serializado como JSON no corpo da solicitação.

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

Envia uma solicitação POST ao URI especificado que contém o value serializado como JSON no corpo da solicitação.

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

Envia uma solicitação POST ao URI especificado que contém o value serializado como JSON no corpo da solicitação.

PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

Envia uma solicitação PUT para o URI especificado que contém o value serializado como JSON no corpo da solicitação.

PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

Envia uma solicitação PUT para o URI especificado que contém o value serializado como JSON no corpo da solicitação.

PutAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

Envia uma solicitação PUT para o URI especificado que contém o value serializado como JSON no corpo da solicitação.

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

Envia uma solicitação PUT para o URI especificado que contém o value serializado como JSON no corpo da solicitação.

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

Envia uma solicitação PUT para o URI especificado que contém o value serializado como JSON no corpo da solicitação.

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

Envia uma solicitação PUT para o URI especificado que contém o value serializado como JSON no corpo da solicitação.

Aplica-se a

Confira também