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.