Enviando una solicitud http

C#:
Enviando una solicitud http

Cómo hacerlo:

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

class Program
{
    static async Task Main(string[] args)
    {
        using (var httpClient = new HttpClient())
        {
            try
            {
                // GET request
                HttpResponseMessage response = await httpClient.GetAsync("http://api.example.com/data");
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseBody);

                // POST request
                var postData = new StringContent("{\"name\":\"Tu Nombre\"}", System.Text.Encoding.UTF8, "application/json");
                HttpResponseMessage postResponse = await httpClient.PostAsync("http://api.example.com/submit", postData);
                postResponse.EnsureSuccessStatusCode();
                string postResponseBody = await postResponse.Content.ReadAsStringAsync();
                Console.WriteLine(postResponseBody);
            }
            catch(HttpRequestException e)
            {
                Console.WriteLine("\nException Caught!");
                Console.WriteLine("Message :{0} ",e.Message);
            }
        }
    }
}

Output:

{ "data": "Información obtenida con GET" }
{ "result": "Respuesta de la solicitud POST" }

Profundización:

En los años 90, el HTTP se convirtió en el protocolo estándar para la web. Desde entonces, el envío de solicitudes HTTP ha sido fundamental para la interacción en la web, y ha evolucionado con la tecnología.

Alternativas: Hay diferentes métodos HTTP (GET, POST, PUT, DELETE, etc.), y varios clientes HTTP en C# como WebClient y RestSharp, pero HttpClient es el más moderno y recomendado.

Detalles de implementación: Con HttpClient, puedes personalizar headers, manejar timeouts y manejar errores. Usa async y await para operaciones sin bloqueo en aplicaciones de consola, escritorio o móviles.

Ver También: