суббота, 10 декабря 2022 г.

C# dotnet 4.7.2 std - Асинхронный запрос к web-ресурсу (HttpClient, POST-метод, FilesAttach)

            Класс: CustomWebRequest_v3
         Копирайт: Виктор Туляков, дек-2022
       Назначение: Выполнение web-запроса
    Метод запроса: POST
 Доп. возможность: Прикрепление нескольких файлов

Пример использования:

...

private async void button1_Click_1(object sender, EventArgs e)
{
    CustomWebRequest_v3 webReq = 
                                new CustomWebRequest_v3(
                                          "http://192.168.0.101/engine/");

    webReq.event_msg = log;

    Task<string> getReq = webReq.SendCommand(new Dictionary<string, string> {
            { "script", "index"},
            { "key2", "value2"},
            { "key3", "value3"}
        },
        // вторым аргументом крепим файлы, используя new string[] {}
        // если файлы не крепим, то используем метод SendCommand с одним 
        // аргументом new Dictionary<string, string>{{"param", "value"}, ...}
        new string[] { @"d:\image1.jpg", @"d:\journal.txt" });

    string resp = "";

    resp = await getReq;

    if (resp == null)
    {
        log("Ошибка выполнения запроса.");
        return;
    }

    log(resp);
    log();
    log(webReq.lastRequest_DurationInSecond.ToString());
}

private void log(string msg = "")
{
    // Компонент TextBox для отображения событий от класса 'CustomWebRequest_v3'
    tbLog.AppendText(msg + "\r\n");
}

...



-------------------------------------------------------------
Скачать класс: CustomWebRequest_v3.cs

Комментариев нет:

Отправить комментарий

Docker. Первые контейнеры

Источник:  php.dragomano.ru Структура каталогов: ~/develop/web/project/                  nginx/      - сервис web-сервера                php...