¿Cómo hacer una solicitud HTTP en C#?
¡Saludos colegas!
Me encontré con una tarea aparentemente trivial: realizar una solicitud HTTP a una API externa desde una aplicación de consola .NET 6. Leí varios tutoriales, pero los ejemplos están dispersos: en algunos usan
Intenté escribir una solicitud GET simple con
Lo ejecuto en el método
Me encontré con una tarea aparentemente trivial: realizar una solicitud HTTP a una API externa desde una aplicación de consola .NET 6. Leí varios tutoriales, pero los ejemplos están dispersos: en algunos usan
HttpClient, en otros WebClient (¿obsoleto?), y en algunos RestSharp. Quiero entender el enfoque moderno y correcto.Intenté escribir una solicitud GET simple con
HttpClient, pero la aplicación se congela. Aquí está el código:var client = new HttpClient();
var response = await client.GetAsync("https://api.github.com/zen");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);Lo ejecuto en el método
Main (sin async), y recibo una advertencia de que el código asíncrono no se está esperando. Intenté agregar .Result y comenzó un deadlock. Tampoco está claro si es necesario llamar a Dispose() para HttpClient y cómo manejar correctamente los errores (timeout