Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpHtBdy 454 of 509 menu
◀ ▶

Тело HTTP-ответа в C#

Тело читают одним шагом: вызов GetStringAsync сам выполняет GET и возвращает строку. Метод ReadAsStringAsync на HttpContent удобен, если HttpResponseMessage уже получен - любым методом, не только GET.

Тело example.com начинается с "<!doctype" (регистр может отличаться) - проверим подстроку:

using HttpClient client = new(); using HttpResponseMessage response = await client.GetAsync("https://example.com/"); string body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body.Contains("<!doctype html>", StringComparison.OrdinalIgnoreCase));

При 204 No Content строка часто пуста - Length будет 0, это не ошибка клиента:

using HttpClient client = new(); using HttpResponseMessage response = await client.GetAsync("https://httpbin.org/status/204"); string body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body.Length);

Сравните длину тела для "example.com" через GetStringAsync и через ReadAsStringAsync после GetAsync.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить