Работа с сетью в С# с помощью класса HttpClient

Доброго времени суток! В данной статье мы рассмотрим с Вами основы работы с сетью Интертнет в C#. Для этой цели мы будем использовать
высокоуровневый класс HttpClient.

В приведенных примерах мы создадим простые запросы GET и POST.

Протокол передачи гипертекста (HTTP) — это прикладной протокол для распределенных информационных систем.
HTTP — это основа передачи данных для Всемирной паутины.

HttpClient — это базовый класс для отправки HTTP-запросов и получения HTTP-ответов от ресурса, идентифицируемого URI.

Методы HTTP-запроса

HTTP определяет набор методов запроса для указания желаемого действия, которое должно быть выполнено для данного ресурса.

  • GET — запрашивает представление указанного ресурса
  • HEAD — идентичен запросу GET, но без тела ответа
  • POST — отправляет данные на ресурс, часто вызывая изменение состояния или побочные эффекты
  • PUT — создает ресурс или обновляет существующий ресурс
  • DELETE — удаляет указанный ресурс
  • CONNECT — запускает двустороннюю связь с запрошенным ресурсом
  • OPTION — описывает параметры связи для целевого ресурса
  • TRACE — возвращает полный HTTP-запрос обратно для целей отладки
  • PATCH — выполняет частичные изменения ресурса
  • Коды состояния Http

    Коды состояния HTTP-ответа указывают, был ли успешно выполнен конкретный HTTP-запрос. Ответы сгруппированы по пяти классам:

    1. Информационные ответы (Informational) (100-199)
    2. Успешные ответы (Successful) (200-299)
    3. Перенаправления (Redirects) (300-399)
    4. Ошибки клиента (Client errors) (400-499)
    5. Ошибки сервера (Server errors) (500-599)


    var url = "https://myrusakov.ru";
    using var client = new HttpClient();

    var result = await client.GetAsync(url);

    Console.WriteLin(result.StatusCode);

    В примере выше создается GET-запрос на сайт. Далее получаем код состояния запроса. В нашем случае должно быть.

    Метод GetAsync отправляет запрос GET на указанный Uri в качестве асинхронной операции. Оператор await приостанавливает вычисление содержимого асинхронного метода до завершения асинхронной операции. Когда асинхронная операция завершается, оператор await возвращает результат операции, если таковой имеется.

    C# HttpClient GET запрос

    Метод GetStringAsync запрашивает представление указанного ресурса.


    var url = "https://myrusakov.ru";
    using var client = new HttpClient();
    var content = await client.GetStringAsync(url);

    // печатаем html- содержимое страницы
    Console.WriteLine(content);

    Таким образом, в данной статье мы рассмотрели самые базовые возможности класса HttpClient, а в следующих статьях рассмотрим другие методы этого класса.

    Источник