вот пример https://www.mql5.com/ru/articles/73
прописываю заголовки явно.
отправляю так
//------------------------------------------------------------------ Request bool Net.Request(string Verb, string Object, string &Out, bool toFile=false, string addData="", bool fromFile=false) { if (toFile && Out=="") { Print("-File not specified"); return(false); } int data[]; int hRequest, hSend, h; string Vers="HTTP/1.1"; string nill=""; if (fromFile) { if (Net.FileToArray(addData, data)<0) { Print("-Err reading file "+addData); return(false); } }// прочитали файл в массив else Net.StringToArray(addData, data); if (Net.Session<=0 || Net.Connect<=0) { Net.Close(); if (!Net.Open(Net.Host, Net.Port)) { Print("-Err Connect"); Net.Close(); return(false); } } // создаем дескриптор запроса hRequest=HttpOpenRequestA(Net.Connect, Verb, Object, Vers, nill, nill, FLAG_KEEP_CONNECTION|FLAG_RELOAD|FLAG_PRAGMA_NOCACHE, 0); if (hRequest<=0) { Print("-Err OpenRequest"); Net.Close(); return(false); } // отправляем запрос string head="Content-Type: application/x-www-form-urlencoded"; // заголовок на отправку ----> hSend=HttpSendRequestA(hRequest, head, StringLen(head), data, ArraySize(data)*4); // отправили файл if (hSend<=0) { Print("-Err SendRequest"); InternetCloseHandle(hRequest); Net.Close(); } Net.ReadPage(hRequest, Out, toFile); // читаем страницу InternetCloseHandle(hRequest); InternetCloseHandle(hSend); // закрыли все хендлы return(true); }Работает без проблем.
Да, спасибо. Читал статью, но это для mql5. Думал, как бы это переписать четвёртый mql, но что-то как-то не решился. Вообще, это под mql4 реально переписать?
Или уже пора пересаживаться на пятый?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как в mql сделать посредством wininet.dll POST запрос. Я подозреваю, что нижеследующим образом (ну, плюс ещё вставить в код сам запрос...):
Но HttpSendRequestA возвращает false. В чем ошибка?