WebRequest не скачивает с forexfactory com - страница 2

 
Sergey Dzyublik:

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


У меня ваш вариант не работает.

Е‌динственное отличие от вашего кода это контроль ошибок.  Скрипт прикрепил.

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;  
  
   ResetLastError();
  
   int res = WebRequest("GET", url, headers, timeout, data, result, result_headers);
  
   int Werr = GetLastError();
      
      
   Print("HEAD= ", headers);
  
   Print(url);
  
   Print("Result downloading res= ", res, "   Werr= ", Werr);
  
   Print("res_headers= ", result_headers);
  
  }


‌Результат работы скрипта

Р‌азрешенные адреса

Файлы:
WebReq_05.mq4  2 kb
 
Dmytro Zelenskyy:


У меня ваш вариант не работает.

Р‌азрешенные адреса

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

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

Sergey Dzyublik, 2017.03.07 19:42

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

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


 
Sergey Dzyublik:


В разрешенных все Ок без лишнего

В‌ предыдущем посте я прикрепил скрипт с вашим кодом, попробуйте у себя выполнить.

 
Dmytro Zelenskyy:


В разрешенных все Ок без лишнего

В‌ предыдущем посте я прикрепил скрипт с вашим кодом, попробуйте у себя выполнить.


Все работает, мне ведь не лень прогнать скрипты.
А вот вам, к сожалению, впадло кнопочку Delete потыкать или создать еще одну запись вручную переписав url.
 
Sergey Dzyublik:

Все работает, мне ведь не лень прогнать скрипты.
А вот вам, к сожалению, впадло кнопочку Delete потыкать или создать еще одну запись вручную переписав url.


Я конечно дико извиняюсь, может я туплю конкретно, но у меня не работает. Для чистоты эксперимента я запускал скрипт WebReq_05.mq4

н‌а двух компьютерах, и внимательно чистил пресловутые лишние символы в разрешенных.

П‌лиз кто нибудь еще запустите у себя скрипт, и посмотрите логи.

В логах должно быть типа такого, только на     forexfactory.com

 

Извините, действительно есть проблема.
Проблема не проявляется при использовании локального прокси сервера (применяется доверенный рутовский сертификат, который переподписывает динамически новосозданные сертификаты для установки соединения).
Проблема проявляется только при использовании прямого подключения.

Скорее всего это проблемы на стороне MQ, предположительно, проблема связанная с:
- декодированием ответов в "Content-Type: text/html; charset=ISO-8859-1"
и, или
- selection compatible SSL parameters, ....

 
Sergey Dzyublik:

Проблема не проявляется при использовании локального прокси сервера (применяется доверенный рутовский сертификат, который переподписывает динамически новосозданные сертификаты для установки соединения).
Проблема проявляется только при использовании прямого подключения.

Скорее всего это проблемы на стороне MQ, предположительно, проблема связанная с:
- декодированием ответов в "Content-Type: text/html; charset=ISO-8859-1"
и, или
- selection compatible SSL parameters, ....

Спасибо за исследование вопроса!
 

На англоязычном сайте тоже обсуждают WebRequest и forexfactory

https://www.mql5.com/en/forum/171843#comment_4162541

 
Slawa:

На англоязычном сайте тоже обсуждают WebRequest и forexfactory

https://www.mql5.com/en/forum/171843#comment_4162541


Они там обсуждают как скачать текущую неделю, а мне надо парсить кучу страниц с 2007 года по сегодня с новостями.

Х‌отелось бы использовать именно  WebRequest,

а‌ не другие, не совсем mql-евские способы.

И‌ почему сломался именно forexfactory? С другими новостными сайтами проблем нет.

 

Вы полностью прочитали, что написал Tim?

The forexfactory.net URL works OK for me. It looks like they have blocked some user-agents on the .com URL. I guess they want to move the RSS traffic over to the .net URL. I got the .com URL to work by changing the user-agent.‌

и далее его код‌

...
string reqheaders="User-Agent: Mozilla/4.0\r\n";
...

‌Вы попробовали его рецепт?