Descargando una página web

C#:
Descargando una página web

Cómo se hace:

Para descargar una página web en C#, puedes usar HttpClient. Aquí un ejemplo práctico:

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

class Program
{
    static async Task Main()
    {
        using (HttpClient client = new HttpClient())
        {
            try
            {
                string url = "https://www.ejemplo.com";
                HttpResponseMessage response = await client.GetAsync(url);
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseBody);
            }
            catch(HttpRequestException e)
            {
                Console.WriteLine("\nExcepción capturada!");
                Console.WriteLine("Mensaje :{0} ",e.Message);
            }
        }
    }
}

Si ejecutas este código, verás el HTML de la página https://www.ejemplo.com en consola.

Profundizando

Antes de HttpClient, WebClient y HttpWebRequest eran el pan de cada día para tareas HTTP en C#. Sin embargo, HttpClient es más flexible y eficiente, especialmente en aplicaciones modernas.

En cuanto a alternativas, podrías usar librerías de terceros como RestSharp o Flurl que ofrecen abstracciones más altas para operaciones de red.

En cuanto a detalles de implementación, los métodos asincrónicos de HttpClient como GetAsync deben utilizarse en aplicaciones modernas para evitar bloquear el hilo principal mientras se espera la respuesta de la red.

Ver También