Enviando uma requisição HTTP

C#:
Enviando uma requisição HTTP

Como Fazer?

No C#, uma das formas mais comuns de enviar uma requisição HTTP é usando a classe HttpClient. Aqui está um exemplo simples:

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            HttpResponseMessage response = await client.GetAsync("https://api.exemplo.com/dados");
            if (response.IsSuccessStatusCode)
            {
                string conteudo = await response.Content.ReadAsStringAsync();
                Console.WriteLine(conteudo);
            }
            else
            {
                Console.WriteLine($"Erro: {response.StatusCode}");
            }
        }
    }
}

Saída de exemplo (dependendo da API e do que ela retorna):

{"nome":"João","idade":30}

Aprofundamento

A classe HttpClient é uma introdução relativamente recente na .NET Framework, vindo substituir opções mais antigas como WebClient e HttpWebRequest. Uma das principais vantagens do HttpClient é a capacidade de ser reutilizado para múltiplas requisições, o que ajuda no gerenciamento eficiente de recursos na aplicação.

Existem alternativas ao HttpClient, como a biblioteca RestSharp que oferece uma API mais rica e é frequentemente considerada mais simples para certas tarefas.

Quanto aos detalhes de implementação, vale ressaltar que requisições HTTP podem ser síncronas ou assíncronas. No exemplo acima, usamos métodos assíncronos (async e await) para evitar bloquear a thread principal da aplicação, permitindo que outros processos continuem rodando em paralelo enquanto a requisição é processada.

Ver Também