Справочник MQL4 Общие функции
WebRequest
Справка MQL4 одним файлом:
|
WebRequestОтправляет HTTP-запрос на указанный сервер. Существует два варианта функции: 1. Для отправки простых запросов вида "ключ=значение" с использованием заголовка Content-Type: application/x-www-form-urlencoded.
2. Для отправки запросов произвольного типа с указанием собственного набора заголовков для более гибкого взаимодействия с различными Web-сервисами.
Параметры method [in] Метод HTTP. url [in] URL-адрес. headers [in] Заголовки запроса вида "ключ: значение", разделенные переносом строки "\r\n". cookie [in] Значение Cookie. referer [in] Значение заголовка Referer HTTP-запроса. timeout [in] Таймаут в миллисекундах. data[] [in] Массив данных тела HTTP-сообщения. data_size [in] Размер массива data[]. result[] [out] Массив с данными ответа сервера. result_headers [out] Заголовки ответа сервера. Возвращаемое значение Код ответа HTTP-сервера либо -1 в случае ошибки. Примечание Для использования функции WebRequest() следует добавить адреса серверов в список разрешенных URL во вкладке "Советники" окна "Настройки". Порт сервера выбирается автоматически на основе указанного протокола - 80 для "http://" и 443 для "https://". Функция WebRequest() является синхронной, это означает, что она приостанавливает выполнение программы и ждет ответа от запрашиваемого сервера. Так как задержки при получении ответа на отправленный запрос могут быть большими, то функция запрещена для вызовов из индикаторов, поскольку индикаторы работают в едином потоке, общем для всех индикаторов и графиков на данном символе. Задержка выполнения индикатора на одном из графиков символа может привести к остановке обновления всех графиков по данному символу. Функцию можно вызывать только из экспертов и скриптов, так как они работают в собственном потоке выполнения. При вызове из индикатора GetLastError() вернет ошибку 4060 – "Функция не разрешена". При работе в тестере стратегий функция WebRequest() не выполняется. Пример использования 1-го варианта функции WebRequest():
|