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.