WebRequest не скачивает с forexfactory com

Dmytro Zelenskyy  

Не могу скачать страницу с forexfactory.com, причем с других сайтов страницы качаются.

Написал вот такой простой скрипт для отладки

void OnStart()
  {
//---
      string sUrlF;
      
      //sUrlF = "https://www.mql5.com/";
      
      sUrlF = "https://www.forexfactory.com/";
      
      //sUrlF = "https://www.dailyfx.com/";
      
      //sUrlF = "https://ru.investing.com/";
      
      string cookie=NULL, headers = NULL, res_headers;
  
      char post[],result[];
      
      int timeout=5000;
  
      ResetLastError();
      
      int res = WebRequest("GET",sUrlF,cookie,NULL,timeout,post,0,result,res_headers);
      
      int Werr = GetLastError();
      
      Print(sUrlF);
      
      Print("Result downloading res= ", res, "   Werr= ", Werr);
      
      Print("res_headers= ", res_headers);
  }

‌После выполнения получаю ошибку

Е‌сли подставить ссылку например   www.dailyfx.com  то все работает

С‌айты в настройках терминала для доступа прописал

Подскажите плиз в чем проблема?

fxsaber  

Похоже, в этом

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Календарь форекс, настолько быстрый чтобы использовать его в программной торговле?

Renat Fatkhullin, 2017.02.04 12:17

Мы уже сделали собственную лицензионно чистую реализацию экономического календаря.

Наш сервис собирает самостоятельно исходные данные со множества официальных источников и настроен на максимально быструю реакцию. Кроме того, ведется глубокая история значений.

Сначала мы включим календарь на этом сайте, а потом проапгрейдим календарь в МТ5 и дадим прямой доступ ко всем данным календаря из MQL5. Можно будет использовать календарь и в тестере - его история тоже будет моделироваться.

И‌спользуйте пока еще рабочий URL https://cdn-nfs.forexfactory.net/ff_calendar_thisweek.xml

Dmytro Zelenskyy  
fxsaber:

Похоже, в этом

И‌спользуйте пока еще рабочий URL https://cdn-nfs.forexfactory.net/ff_calendar_thisweek.xml


Я делаю парсинг новостей с forexfactory с 2007 года, меня текущая неделя не устраивает.

‌Раньше адрес был

 http://www.forexfactory.com/

‌сейчас стал

https://www.forexfactory.com/

м‌ожет здесь надо копать? Слабо верится в заговоры MQL и сознательной блокировке новостного сайта.

fxsaber  
Dmytro Zelenskyy:


Я делаю парсинг новостей с forexfactory с 2007 года, меня текущая неделя не устраивает.

‌Раньше адрес был

 http://www.forexfactory.com/

‌сейчас стал

https://www.forexfactory.com/

м‌ожет здесь надо копать?

Б‌ез s ошибку выдавать не будет, но календарь не проверял.

Слабо верится в заговоры MQL и сознательной блокировке новостного сайта.

Прецеденты подобного обращения с конкурентами были.
Dmytro Zelenskyy  

Если без s, как было раньше и все работало‌, типа    http://www.forexfactory.com/

т‌о сайт дает 403 ошибку

И‌ содержимое скачанной страницы - "FORBIDDEN"

Н‌у и лог

fxsaber  
Dmytro Zelenskyy:

Я делаю парсинг новостей с forexfactory с 2007 года, меня текущая неделя не устраивает.


Если для себя, то делайте по старинке - без WebRequest.

Если для Маркета, то такие продукты, вероятнее всего, разработчики сделали нерабочими.

П‌оспрашивайте авторов/юзеров, работает у них или нет.

З‌Ы У меня завис

Stanislav Korotky  

Некоторое время назад начался апгрейд SSL/TLS инфраструктуры в мире (он в общем-то все время происходит, но тут делается шаг вперед без обратной совместимости, из-за соображений безопасности). Может быть на одном сервере (который перестал читаться, обновили сертификат), а на том, который еще работает - пока работает прежний.

В‌се упирается в том, какие SSL библиотеки использует WebRequest и откуда их берет. Лично я не в курсе.

PS.Насколько я вижу, один и тот же сервер может отдавать сертификат по-разному в зависимости от user-agent. Попробуйте передавать в WebRequest кастомизированные заголовки, в частности прикинуться тем браузером, в котором проблемный сайт открывается нормально.
Sergey Dzyublik  

Попросили - решил:

1. Кривизна адреса https://www.forexfactory.com/здесь невидимый символ в UTF-8 кодировке
Переубедитесь, что у вас там нет невидимых символов, как %E2%80%8C

2. Сайт https://www.forexfactory.com валидирует User-Agent значение для параметров HTTP запроса.
Укажите явное значение User-Agent, например:

User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36

fxsaber  
Sergey Dzyublik:

Попросили - решил:

1. Кривизна адреса https://www.forexfactory.com/здесь невидимый символ в UTF-8 кодировке
Переубедитесь, что у вас там нет невидимых символов, как %E2%80%8C

2. Сайт https://www.forexfactory.com валидирует User-Agent значение для параметров HTTP запроса.
Укажите явное значение User-Agent, например:

User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36


Спасибо, но у меня не выходит. Как входные WebRequest должны выглядеть? 
Sergey Dzyublik  
fxsaber:

Спасибо, но у меня не выходит. Как входные WebRequest должны выглядеть? 

Ни чем не отличаясь от документации.

void OnStart()
{  
   char data[];
   char result[];
   string result_headers;  
   string headers = "User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36";
  
   string url="https://www.forexfactory.com";
   int timeout=20000;  
  
   WebRequest("GET", url, headers, timeout, data, result, result_headers);  
}
Sergey Dzyublik  

И опережая ваше очередное "не работает",
пожалуйста, поправьте название сайта из списка разрешенных url именно на https://www.forexfactory.com‌

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