Авторизация на https://www.mql5.com из советника - страница 2

 
Vladimir Pastushak:
Веб реквест не работает...

Что и у кого не работает?

 
Sergey Dzyublik:

Что и у кого не работает?


У кисок не работает.

 
В одной из тем админ писал что через веб реквест авторизоваться нельзя...
 
Vladimir Pastushak:
В одной из тем админ писал что через веб реквест авторизоваться нельзя...

может прислушаться? 

 
Vladimir Pastushak:
В одной из тем админ писал что через веб реквест авторизоваться нельзя...


Если не ошибаюсь, то действительно WebRequest автоматически обрабатывает redirect ответы и в таком случае auth куку не достать.
Используйте вручную скопированную из браузера auth куку для запросов на www.mql5.com

Так же можно писать мольбы на сервисдеск по добавлению ручной обработки redirect ответов для WebRequest.

 

cookie = 65DE8AB7B7A168DC615F57BA9D3073D0830A4B3D94F0286FAD018312EA98340346D9DD2F32D432256A0997AD33F21F133D3EE6DDD88A4FFF2C26DDC1C23964B798D9BBB09DD790D30CD46FD313BDB11AF82CA8


void GetFile()
  {

   FileDelete(file+".csv");
   char post[],result[];
   string headers;
   string url="https://www.mql5.com/ru";
   int timeout=600000;
   int res;

   res=WebRequest("GET",url,"auth="+cookie,NULL,timeout,post,0,result,headers);
//--- проверка ошибок 
   if(res==-1)
     {
      Print("Ошибка в WebRequest. Код ошибки  =",GetLastError());
      //--- возможно, URL отсутствует в списке, выводим сообщение о необходимости его добавления 
      MessageBox("Необходимо добавить адрес '"+url+"' в список разрешенных URL во вкладке 'Советники'","Ошибка",MB_ICONINFORMATION);
     }
   else
     {
      //--- успешная загрузка 
      //PrintFormat("Файл успешно загружен, Размер файла =%d байт.",ArraySize(result));
      //--- сохраняем данные в файл 
      int filehandle=FileOpen(file+".html",FILE_WRITE|FILE_BIN);
      //--- проверка ошибки 
      if(filehandle!=INVALID_HANDLE)
        {
         //--- сохраняем содержимое массива result[] в файл 
         FileWriteArray(filehandle,result,0,ArraySize(result));
         //--- закрываем файл 
         FileClose(filehandle);
        }
      else Print("Ошибка в FileOpen. Код ошибки =",GetLastError());
     }
  }

вообщем примерно так 

 

В принципе, если терминал уже залогинен в MQL5 эккаунт (многие ведь заполняют реквизиты в диалоге настроек), то почему бы WebRequest-у внутри прозрачно не подставлять для запросов на mql5.com уже имеющуюся у терминала авторизацию? Понятно, что вопрос к MQ, но это просто в качестве размышления пока. Или написать в СД?

PS. А расскажите, кто зачем на mql5.com логинится из эксперта?

 
Stanislav Korotky:

1) В принципе, если терминал уже залогинен в MQL5 эккаунт (многие ведь заполняют реквизиты в диалоге настроек), то почему бы WebRequest-у внутри прозрачно не подставлять для запросов на mql5.com уже имеющуюся у терминала авторизацию? Понятно, что вопрос к MQ, но это просто в качестве размышления пока. Или написать в СД?

2) PS. А расскажите, кто зачем на mql5.com логинится из эксперта?


1) + 

2)   сбор какой либо информации 
 
Dmitiry Ananiev:

cookie = 65DE8AB7B7A168DC615F57BA9D3073D0830A4B3D94F0286FAD018312EA98340346D9DD2F32D432256A0997AD33F21F133D3EE6DDD88A4FFF2C26DDC1C23964B798D9BBB09DD790D30CD46FD313BDB11AF82CA8


вообщем примерно так 


Спасибо! Работает...  Теперь ищем способ что не было костылей с куками.

 
Yuriy Zaytsev:

1) + 

2)   сбор какой либо информации 

Написал в СД, но вероятно ответ будет отрицательным, потому что как раз политика MQ может заключаться в том, чтобы ограничить или не допустить "сбор какой-либо информации."

Причина обращения: