Простая функция для чтения файла из URL-адреса в строковый буфер (C++/MQL{4|5} с использованием WinInet.dll)

Я ищу простую функцию, которая может читать текстовый или двоичный файл из Интернета в переменную string.

Невероятно, что я ничего не смог найти в сети, только низкоуровневые описания всех WinInet функций и бесполезные образцы, которые вообще не работают, на MQL-форумах.

Мне нужна такая функция, как:

string buffer = ReadTextFileFromWeb( "www.myurl.net/textfile.txt" );

Ни больше ни меньше. Я вообще не очень хорошо разбираюсь в интернет-программировании, но я уверен, что есть кто-то, кто может просто так объяснить причину.

Код будет использоваться в MQL4/MQL5. Я знаю, что уже есть функция WebRequest(), которая работает, но она ограничена советниками и не может использоваться в коде типа Custom Indicator.

Мне нужно это решение для загрузки данных в пользовательский индикатор.


person Doerk    schedule 20.08.2016    source источник
comment
Позвольте мне спросить о реальном сценарии использования основных особенностей дизайна/огибающей производительности: a) ожидаемая длина string, которая должна загружаться? b) является ли string постоянным или переменным на протяжении Custom Indicator жизненного цикла, т. е. изменяется ли он вообще, или в зависимости от такта, или только время от времени?   -  person user3666197    schedule 20.08.2016
comment
Кстати. для WebRequest() существует еще больше ограничений, помимо запрета запуска в Custom Indicator. В любом случае, есть несколько способов, как атаковать цель, так что не волнуйтесь, это выполнимо. Пожалуйста, обновите несколько деталей о пакете производительности и будем рады порекомендовать возможное решение для заданных показателей.   -  person user3666197    schedule 20.08.2016


Ответы (1)


Получите это на github https://github.com/sergeylukin/mql4-http

//For MT4 Add HTTP Access
#include <mql4-http.mqh>

string URLr = "www.myurl.net/textfile.txt";
Print("URLr return is: ", URLr);

Для MT5 вы сами по себе.

Вышеупомянутая доза не имеет проблем, которые есть у WebRequest(). Или я не видел, чтобы у него были какие-то проблемы. Я использую его все время во многих советниках, и у меня никогда не было зависаний графика или проблем.

person user10078199    schedule 30.09.2019
comment
«Shell32» не является классом, структурой или объединением. Получил такую ​​​​ошибку. - person Mizhar Raja; 04.06.2020
comment
Я использую МТ5. У вас есть HTTP-доступ к MT5? - person Mizhar Raja; 04.06.2020