Ответ WebRequest в строку

 

Здравствуйте Гуру, возникла проблема и никак не могу побороть её. Необходимо преобразовать загрузку html страницы через WebRequest в строку, но в итоге обрезанные данные. Код:

urldata = "http://ec.forexprostools.com/?columns=exc_currency,exc_importance&category=_employment,_economicActivity,_inflation,_credit,_centralBanks,_confidenceIndex,_balance,_Bonds&importance=1,2,3&countries=25,6,37,72,22,17,39,10,35,43,60,36,110,26,12,4,5&calType=week&timeZone=15&lang=1";


   string cookie=NULL,headers;

  char post[],result[];

   int res;


   ResetLastError();


   int timeout=5000; 

   res=WebRequest("GET",urldata,cookie,NULL,timeout,post,0,result,headers);

   if(res==-1)

     {

      Print("Error in WebRequest. Error code  =",GetLastError());

     }

   else

     {

     news_data = CharArrayToString(result);  

     } 

В ответе всего несколько строк, вместо всей страницы. В чем может быть быть проблема?

 
нечитаемые символы, и экранировка кавычек. надо обработать еще на стадии массива
 

нормально все получает по этой строке, недавно делал реализацию получения новостей с подобной ссылкой.

вот так преобразую все в строку:

sBuffer=CharArrayToString(result,0,WHOLE_ARRAY,CP_UTF8); //сохраним в UTF8

вот ссылка

string sLink="https://sslecal2.forexprostools.com/?columns=exc_currency,exc_importance&countries=25,54,34,6,37,107,55,24,89,72,71,22,17,51,33,10,35,97,96,103,109,21,43,60,38,56,36,90,112,26,9,12,63,4,5&calType=day&timeZone=56&lang=1";

вот функция для чтения

bool ReadWebPage(bool &bNewDay,string sWWW,string &shtml,string sWebRequest)
     {

      if(!bNewDay)
        {

         if(ArraySize(news)!=0)
            return true;
        }

      string cookie=NULL,headers;
      int res;
      char post[],result[];
      shtml="";

      ResetLastError();

      while(!IsStopped())
        {

         int timeout=5000; //--- timeout менее 1000 (1 сек.) недостаточен при низкой скорости Интернета сделан таймаут в 5 секунд
                           //urlencode(
         res=WebRequest("GET",sWWW,cookie,NULL,timeout,post,0,result,headers);
         

         //--- проверка ошибок 
         if(res==4060)
           {
            Print("Ошибка в WebRequest. Код ошибки  = ",GetLastError());
            //--- возможно, URL отсутствует в списке, выводим сообщение о необходимости его добавления 

            MessageBox("Необходимо добавить адрес: '"+sWebRequest+"' в список разрешенных URL во вкладке 'Советники'","Ошибка",MB_ICONINFORMATION);
            break;
           }
         else
           {

            string sBuffer="";
            sBuffer=CharArrayToString(result,0,WHOLE_ARRAY,CP_UTF8); //сохраним в UTF8

                                                                     //выдернем из текста страницы нужную таблицу
            //<table id="ecEventsTable" class="genTable closedTable ecoCalTable">
            StringReplace(sBuffer,"\"","");
            //<table id="ecEventsTable" class="genTable closedTable ecoCalTable">                                                                 
            int iStart=StringFind(sBuffer,"<table id=ecEventsTable class=genTable closedTable ecoCalTable>");

            // Print(ArraySize(result)," ",iStart," ",sBuffer,GetLastError());

            if(iStart>=0)
              {
               sBuffer=StringSubstr(sBuffer,iStart);
               int iEnd=StringFind(sBuffer,"</table>");
               //Print(iEnd);
               sBuffer=StringSubstr(sBuffer,0,iEnd+8);
              }

            //--- сохраняем содержимое массива result[] в файл 
            shtml=sBuffer;
            
            if(sBuffer!="")  return true;
            Sleep(1000); //таймаут при ошибках чтения
           }
        }

      return false;
     }
Причина обращения: