WebRequest

 

2 случая.


1. Дома. Нормально возвращает данные.

2. На работе. Есть проксик. Соответственно, WebRequest идет без ошибок, но при этом возвращается пустая строка.


Виноват ли прокси?

Виноват ли 443 порт? (адрес https://...)

Куда копать, если ошибок не дает?

В журнале пишет "Файл успешно загружен, размер 0 байт"

//--- indicator buffers mapping
   string cookie=NULL,headers;

   char post[],result[];

   int res;

//--- для работы с сервером необходимо добавить URL "https://www.google.com/finance" 
//--- в список разрешенных URL (Главное меню->Сервис->Настройки, вкладка "Советники"):
   string google_url=url; // тут другой url.. но разве это важно? )) если он добавлен в список разрешенных
//--- обнуляем код последней ошибки
   ResetLastError();
//--- загрузка html-страницы с Google Finance
   int timeout=5000; //--- timeout менее 1000 (1 сек.) недостаточен при низкой скорости Интернета
   res=WebRequest("GET",google_url,cookie,NULL,timeout,post,0,result,headers);
//--- проверка ошибок
   if(res==-1)
     {

      Print("Ошибка в WebRequest. Код ошибки  =",GetLastError());

      //--- возможно, URL отсутствует в списке, выводим сообщение о необходимости его добавления

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

     }

   else

     {
      //--- успешная загрузка
      PrintFormat("Файл успешно загружен, Размер файла =%d байт.",ArraySize(result));
 

Посмотреть GetLastError в случае успеха тоже, вдруг что есть.

Посмотреть на сам запрос в сниффере, может глючит сама функция, мало ли

Если дело и вправду в прокси, может попробовать хедерами поиграться?

 
Комбинатор:

Посмотреть GetLastError в случае успеха тоже, вдруг что есть.

Посмотреть на сам запрос в сниффере, может глючит сама функция, мало ли

Если дело и вправду в прокси, может попробовать хедерами поиграться?

Спасибо за ответ.

Но "хедеры" для сайта получателя, скорее всего.

Если я не прав, то пусть меня поправят. И что туда писать, тоже непонятно.

443 порт для себя отверг, ведь МТ на нем вроде и работает, у большинства брокеров.