Как сделать HTTP запрос в C#?
Приветствую коллеги!
Столкнулся с тривиальной, казалось бы, задачей — выполнить HTTP запрос к внешнему API из консольного приложения .NET 6. Прочитал несколько туториалов, но везде примеры разрозненные: где-то используют
Я пробовал написать простой GET запрос через
Запускаю в методе
Ожидаю получить рабочий пример синхронного и асинхронного GET/POST запроса с обработкой ошибок и без утечки ресурсов. Желательно с комментариями, почему именно так, а не иначе. Заранее спасибо!
Столкнулся с тривиальной, казалось бы, задачей — выполнить HTTP запрос к внешнему API из консольного приложения .NET 6. Прочитал несколько туториалов, но везде примеры разрозненные: где-то используют
HttpClient, где-то WebClient (устарел?), а в некоторых — RestSharp. Хочется понять современный и правильный подход.Я пробовал написать простой GET запрос через
HttpClient, но приложение зависает. Вот код:var client = new HttpClient();
var response = await client.GetAsync("https://api.github.com/zen");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);Запускаю в методе
Main (без async), получаю предупреждение, что асинхронный код не ждётся. Пробовал добавить .Result — началась deadlock. Также неясно, нужно ли вызывать Dispose() для HttpClient и как правильно обрабатывать ошибки (таймауты, 404, 500).Ожидаю получить рабочий пример синхронного и асинхронного GET/POST запроса с обработкой ошибок и без утечки ресурсов. Желательно с комментариями, почему именно так, а не иначе. Заранее спасибо!
Ответов пока нет.
Войдите чтобы оставить ответ