test_group/ba/web.mq5
super.admin be35c066ea convert
2025-05-30 16:31:23 +02:00

79 lines
6.1 KiB
MQL5

//+------------------------------------------------------------------+
//| web.mq5 |
//| Copyright 2018, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
Alert( openlink("https://wlink.ru/fx/in.txt"));
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
// по ошибке
}
string openlink(string url) {
string cookie=NULL,headers;
char post[],result[];
//string url="https://finance.yahoo.com";
//--- для работы с сервером необходимо добавить URL "https://finance.yahoo.com"
//--- в список разрешенных URL (Главное меню->Сервис->Настройки, вкладка "Советники"):
//--- обнуляем код последней ошибки
ResetLastError();
//--- загрузка html-страницы с Yahoo Finance
int res=WebRequest("GET",url,cookie,NULL,500,post,0,result,headers);
if(res==-1)
{
Print("Ошибка в WebRequest. Код ошибки =",GetLastError());
//--- возможно, URL отсутствует в списке, выводим сообщение о необходимости его добавления
MessageBox("Необходимо добавить адрес '"+url+"' в список разрешенных URL во вкладке 'Советники'","Ошибка",MB_ICONINFORMATION);
}
else
{
if(res==200)
{
//--- успешная загрузка
PrintFormat("Файл успешно загружен, размер %d байт.",ArraySize(result));
//PrintFormat("Заголовки сервера: %s",headers);
//--- сохраняем данные в файл
int filehandle=FileOpen("in.txt",FILE_WRITE|FILE_BIN);
if(filehandle!=INVALID_HANDLE)
{
//--- сохраняем содержимое массива result[] в файл
FileWriteArray(filehandle,result,0,ArraySize(result));
//--- закрываем файл
FileClose(filehandle);
}
else
Print("Ошибка в FileOpen. Код ошибки =",GetLastError());
}
else
PrintFormat("Ошибка загрузки '%s', код %d",url,res);
}
return CharArrayToString(result);
}
//+------------------------------------------------------------------+