← К каталогу
Исходный код · ID 3533

request_data.mqh

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данная библиотека представляет собой вспомогательный класс RequestData для формирования данных HTTP-запросов в среде MQL. Она позволяет удобно управлять набором параметров (пар «имя—значение») и преобразовывать их в строку формата URL-запроса (например, par_1=foo&par_2=bar). Класс предназначен для совместной работы с библиотекой requests.mqh.

Основные возможности: добавление пар параметров с автоматическим обновлением значения при повторном добавлении с тем же именем, удаление отдельных пар или полная очистка всех данных, а также преобразование набора пар в строку для использования в URL. Доступна также статическая функция преобразования двумерного массива пар в строку запроса.

Состав библиотеки

Классов: 2 · методов: 5 · конструкторов: 0 · деструкторов: 0 · отдельных функций: 0

Классы
Класс class for

Основной класс для управления набором параметров HTTP-запроса и формирования строки URL-данных.

Класс class RequestDataPair

Внутренняя структура, хранящая пару «имя—значение» параметра запроса.

Методы и конструкторы
Метод · for void add(string name, string value)

Добавляет пару «имя—значение» или обновляет значение существующего параметра с указанным именем.

Метод · for void remove()

Удаляет все пары параметров и полностью очищает внутренний набор данных.

Метод · for void remove(string name)

Удаляет конкретную пару параметров по указанному имени.

Метод · for string to_str()

Возвращает строку, содержащую все пары параметров в формате URL-запроса (name=value&...).

Метод · for string to_str(string& _data[][])

Статический метод, преобразующий двумерный массив пар «имя—значение» в строку URL-запроса.

Получить полный код

Поиск по коду файла

#property description   "RequestData class for requests.mqh"
#property library

/*
    Helper class for simple create request data

    USAGE:

    RequestData request_data;
    request_data.add("par_1", "foo");
    request_data.add("par_2", "bar");

    Requests requests;
    Response response = requests.get(url, request_data);
    Print("Response = " + response.text);

    ---

    You can replace value of pair using the same name in request_data.add():

    RequestData request_data;
    request_data.add("par_1", "foo");
    request_data.add("par_2", "bar");

    Print(request_data.to_str());

    request_data.add("par_2", "super_bar");
    Print(request_data.to_str());

    ---

    Use request_data.remove() for clear data and fill request_data new data:

    RequestData request_data;
    request_data.add("par_1", "foo");
    request_data.add("par_2", "bar");
    request_data.add("par_3", "baz");
    Print(request_data.to_str());

    request_data.remove("par_2");  // removes data pair with specific name
    Print(request_data.to_str());

    request_data.remove();  // removes all data pairs
    Print(request_data.to_str());

    ---

    Use static method to_str(string& _data[][]) if you have array of pairs:

    string array_data[2][2];
    array_data[0][0] = "par_1"; array_data[0][1] = "foo";
    array_data[1][0] = "par_2"; array_data[1][1] = "bar";
    Print(RequestData::to_str(array_data));

*/
class RequestData {
private:
    struct RequestDataPair {
        string name;
        string value;
    };

    RequestDataPair pairs[];

publ

Показано первые 50% кода (символов: 2167)

Открыть по тарифу

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

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
216,70₽ ≈ $2.65