Как через WebRequest отправить символ переноса строки? - страница 2 12 Новый комментарий Aleksandr Chernov 2023.04.16 19:53 #11 Или я что-то не так делаю? //--- input parameters string mess = "line1 \n line2"; string ChannelID = " "; // ID Канала (чата) string BotID = " "; // ID Бота телеграм string URL = "https://api.telegram.org/"; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { string headers; char post[],result[]; string serv = URL + "bot" + BotID + "/sendMessage?chat_id=" + ChannelID + "&parse_mode=markdown&text="; StringToCharArray(mess,post,0,WHOLE_ARRAY,CP_UTF8); int res=WebRequest("GET", serv+mess, NULL, NULL, 5000, post, ArraySize(post), result, headers); string out=CharArrayToString(result,0,WHOLE_ARRAY,CP_UTF8); Print(out); if(res < 0) { Print("Ошибка в WebRequest. Код ошибки =", GetLastError()); } } Aleksandr Chernov 2023.04.18 01:57 #12 Разобрался в одном - на МТ5 этот способ работает, а в МТ4 - нет. Не пойму почему. Sergey Zhilinskiy 2023.04.19 13:07 #13 Aleksandr Chernov #: Разобрался в одном - на МТ5 этот способ работает, а в МТ4 - нет. Не пойму почему. Немного не так нужно делать //--- input parameters string mess = "Строка 1\nСтрока2"; string ChannelID = " "; // ID Канала (чата) string BotID = " "; // ID Бота телеграм string URL = "https://api.telegram.org/"; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { string headers; char post[],result[]; string serv = URL + "bot" + BotID + "/sendMessage"; mess = "chat_id=" + ChannelID + "&parse_mode=markdown&text="+mess; StringToCharArray(mess,post,0,WHOLE_ARRAY,CP_UTF8); int res=WebRequest("GET", serv, NULL, NULL, 5000, post, ArraySize(post), result, headers); string out=CharArrayToString(result,0,WHOLE_ARRAY,CP_UTF8); Print(out); if(res < 0) { Print("Ошибка в WebRequest. Код ошибки =", GetLastError()); } } VikiSh 2024.03.31 20:57 #14 Доброго времени суток. Перепробовала все варианты, которые нашла, всё равно не получается отправить 2 строки. Подскажите пожалуйста, где искать ошибку? Сейчас при работе этого кода выдаёт ошибку с массивом 4029 //--- input parameters string mess = "\n Строка 1\nСтрока2"; string ChannelID = " "; // ID Канала (чата) string BotID = " "; // ID Бота телеграм string URL = "https://api.telegram.org"; //--- void OnInit() { string headers; char post[],result[]; string serv = URL + "bot" + BotID + "/sendMessage"; mess = "chat_id=" + ChannelID + "&parse_mode=markdown&text="+mess; StringToCharArray(mess,post,0,WHOLE_ARRAY,CP_UTF8); int res=WebRequest("GET", serv, NULL, NULL, 1000, post, ArraySize(post), result, headers); string out=CharArrayToString(result,0,WHOLE_ARRAY,CP_UTF8); Print(out); if(res < 0) { Print("Ошибка в WebRequest. Код ошибки = ", GetLastError()); } } Maxim Kuznetsov 2024.04.01 22:09 #15 VikiSh #: Доброго времени суток. Перепробовала все варианты, которые нашла, всё равно не получается отправить 2 строки. Подскажите пожалуйста, где искать ошибку? Сейчас при работе этого кода выдаёт ошибку с массивом 4029 метод GET ?? и вы отправляете две строки как они есть... это НЕВЕРНО строка Get должна быть URL-encoded объяснение почему так, выходит за рамки MQL - просто мат.основа Web & HttpPS/ и в методе Get строка передаётся вместе с запросом, а-ля вы её набираете в адресно строке бразера... http://site.domain.com?url_encoded_string Ошибки, баги, вопросы В чем суть синтетиков? Машинное обучение в трейдинге: 12 Новый комментарий
Или я что-то не так делаю?
Разобрался в одном - на МТ5 этот способ работает, а в МТ4 - нет. Не пойму почему.
Немного не так нужно делать
Доброго времени суток. Перепробовала все варианты, которые нашла, всё равно не получается отправить 2 строки.
Подскажите пожалуйста, где искать ошибку? Сейчас при работе этого кода выдаёт ошибку с массивом 4029
//--- input parameters string mess = "\n Строка 1\nСтрока2"; string ChannelID = " "; // ID Канала (чата) string BotID = " "; // ID Бота телеграм string URL = "https://api.telegram.org"; //--- void OnInit() { string headers; char post[],result[]; string serv = URL + "bot" + BotID + "/sendMessage"; mess = "chat_id=" + ChannelID + "&parse_mode=markdown&text="+mess; StringToCharArray(mess,post,0,WHOLE_ARRAY,CP_UTF8); int res=WebRequest("GET", serv, NULL, NULL, 1000, post, ArraySize(post), result, headers); string out=CharArrayToString(result,0,WHOLE_ARRAY,CP_UTF8); Print(out); if(res < 0) { Print("Ошибка в WebRequest. Код ошибки = ", GetLastError()); } }Доброго времени суток. Перепробовала все варианты, которые нашла, всё равно не получается отправить 2 строки.
Подскажите пожалуйста, где искать ошибку? Сейчас при работе этого кода выдаёт ошибку с массивом 4029
метод GET ??
и вы отправляете две строки как они есть...
это НЕВЕРНО
строка Get должна быть URL-encoded
объяснение почему так, выходит за рамки MQL - просто мат.основа Web & Http
PS/ и в методе Get строка передаётся вместе с запросом, а-ля вы её набираете в адресно строке бразера... http://site.domain.com?url_encoded_string