Проблема: WebRequest дает код ответа - 1 и текст ответа receive response failed [12002], при этом _LastError == 5203

MQL4 컨설팅

명시

Задача: разобраться (если нужно, то - вместе с разработчиком серверной части, скайп которого я дам Исполнителю), почему штатная функция WebRequest, вызываемая в моем советнике из приведенной ниже моей функции Request, в обеих терминалах (МТ4 и МТ5) весьма часто возвращает код n == - 1 и текст txt_result == "receive response failed [12002]" с ошибкой _LastError == 5203, и исправить эту ошибку. Адрес url VDS в список разрешенных веб-адресов терминала добавлен. Чтобы не перегружать VDS, после каждого запроса берется пауза, которая в секундах на единицу больше количества неудачных запросов после последнего успешного запроса.

bool Request(string txt_request, string &txt_result, string url)  // Шлем текст txt_request на url, ответ пишем в txt_result.
{
   string headers;
   char request[], result[];
   StringToCharArray(txt_request, request);
   int n = WebRequest("POST", url, NULL, url, 500, request, ArraySize(request), result, headers);
   txt_result = CharArrayToString(result);

   if(n == 200) return true; // Успешный запрос.
   if(n == - 1) {
         Print("не удалось отправить веб-запрос ", txt_request, " на ", url, "; ошибка №", IntegerToString(_LastError), "; code = - 1; result = '", txt_result, "'. Добавьте ", url, " в список разрешенных веб-адресов");
         return false;        // Неудачный запрос.
   }
   Print("не удалось отправить веб-запрос ", txt_request, " на ", url, "; ошибка №", _LastError, "; code = ", n, "; result = ", txt_result);
   return false;              // Неудачный запрос.
}

응답함

1
개발자 1
등급
(33)
프로젝트
54
30%
중재
8
0% / 63%
기한 초과
13
24%
무료
2
개발자 2
등급
(50)
프로젝트
94
29%
중재
3
33% / 0%
기한 초과
4
4%
무료
3
개발자 3
등급
(257)
프로젝트
419
38%
중재
86
44% / 19%
기한 초과
71
17%
바쁜
4
개발자 4
등급
(1)
프로젝트
1
0%
중재
0
기한 초과
0
무료

프로젝트 정보

예산
30+ USD
개발자에게
27 USD
기한
에서 1  5 일