Функция WebRequest перестала работать

 

Всем привет.

Вопрос по функции WebRequest. Больше года назад был написан советник с встроенным парсером сайта, который работал без проблем на всех машинах, на которые его ставили. Сейчас вдруг эта же программа перестала работать на нескольких машинах (переустановок ПО, обновлений не было). Функция WebRequest() стала возвращать значение -1, GetLastError() возвращает ошибку 5203.  Так как программа перестала работать только на компьютерах в конкретном регионе, была мысль, что может это связано с блокировками ip (привет от Телеграм), но сайт с тех же машин через браузеры доступен. 

Подскажите, с чем может быть связано такое поведение программы? Как можно побороть эту проблему?

И еще. Где можно подробно почитать о том, как сформировать строки для функции WebRequest - метод, куки, реферер заголовка и т.д.? Справки MQL мне недостаточно.

 
Artyom Kuraev:

Всем привет.

Вопрос по функции WebRequest. Больше года назад был написан советник с встроенным парсером сайта, который работал без проблем на всех машинах, на которые его ставили. Сейчас вдруг эта же программа перестала работать на нескольких машинах (переустановок ПО, обновлений не было). Функция WebRequest() стала возвращать значение -1, GetLastError() возвращает ошибку 5203.  Так как программа перестала работать только на компьютерах в конкретном регионе, была мысль, что может это связано с блокировками ip (привет от Телеграм), но сайт с тех же машин через браузеры доступен. 

Подскажите, с чем может быть связано такое поведение программы? Как можно побороть эту проблему?

И еще. Где можно подробно почитать о том, как сформировать строки для функции WebRequest - метод, куки, реферер заголовка и т.д.? Справки MQL мне недостаточно.

может быть связано с "облачнымми сервисами" а-ля CloudFlare - сайт работает, но RestAPi заблокирован или вместо JSON несёт белиберду "от веб-мастера". И вообще они периодически глючат.

 

Еще могу предположить - что в заголовки запроса стало надо что-то добавлять.

 

Но ведь год работало без сбоев, а тут что-то пошло не так, и то не везде. Программы запущены на обычных компьютерах, не vpn.

Парсим одну из страниц сайта Телетрейд, с сигналами, получаемыми по подписке.

Как можно найти причины этого "глюка"?

. ... Rick D. ... .:

Еще могу предположить - что в заголовки запроса стало надо что-то добавлять.

Подскажите, пожалуйста, как это можно проверить?
 

Уже была похожая тема про ошибку 5203

https://www.mql5.com/ru/forum/171848

Проблема была только на определённых операционках (win7), и в итоге её как-то пофиксили в новой версии MT5: https://www.mql5.com/ru/forum/233275/page3#comment_6924641


Попробуйте разные операционки, на win10 скорее всего снова заработает, а на старых - скорее всего будет ошибка. 
Я не в курсе, но может недавно опять выходили новые версии ssl или tls, и ваш сайт их требует, а MT5 их ещё не поддерживает?


Там в темах ещё писали что вот этот патч для виндовс тоже помог решить проблему: https://support.microsoft.com/ru-kz/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in

WebRequest не скачивает с forexfactory com
WebRequest не скачивает с forexfactory com
  • 2017.03.06
  • www.mql5.com
Не могу скачать страницу с forexfactory.com, причем с других сайтов страницы качаются...
 
Artyom Kuraev:
Подскажите, пожалуйста, как это можно проверить?

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

Не факт, что именно в этом причина. Но мало ли.