Всем привет.
Вопрос по функции WebRequest. Больше года назад был написан советник с встроенным парсером сайта, который работал без проблем на всех машинах, на которые его ставили. Сейчас вдруг эта же программа перестала работать на нескольких машинах (переустановок ПО, обновлений не было). Функция WebRequest() стала возвращать значение -1, GetLastError() возвращает ошибку 5203. Так как программа перестала работать только на компьютерах в конкретном регионе, была мысль, что может это связано с блокировками ip (привет от Телеграм), но сайт с тех же машин через браузеры доступен.
Подскажите, с чем может быть связано такое поведение программы? Как можно побороть эту проблему?
И еще. Где можно подробно почитать о том, как сформировать строки для функции WebRequest - метод, куки, реферер заголовка и т.д.? Справки MQL мне недостаточно.
может быть связано с "облачнымми сервисами" а-ля CloudFlare - сайт работает, но RestAPi заблокирован или вместо JSON несёт белиберду "от веб-мастера". И вообще они периодически глючат.
Еще могу предположить - что в заголовки запроса стало надо что-то добавлять.
Но ведь год работало без сбоев, а тут что-то пошло не так, и то не везде. Программы запущены на обычных компьютерах, не vpn.
Парсим одну из страниц сайта Телетрейд, с сигналами, получаемыми по подписке.
Как можно найти причины этого "глюка"?
Еще могу предположить - что в заголовки запроса стало надо что-то добавлять.
Уже была похожая тема про ошибку 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
- 2017.03.06
- www.mql5.com
Подскажите, пожалуйста, как это можно проверить?
Выяснить для начала, работает-ли такой-же запрос из браузера. Если да - то смотреть заголовки запроса из браузера и пытаться повторить.
Не факт, что именно в этом причина. Но мало ли.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет.
Вопрос по функции WebRequest. Больше года назад был написан советник с встроенным парсером сайта, который работал без проблем на всех машинах, на которые его ставили. Сейчас вдруг эта же программа перестала работать на нескольких машинах (переустановок ПО, обновлений не было). Функция WebRequest() стала возвращать значение -1, GetLastError() возвращает ошибку 5203. Так как программа перестала работать только на компьютерах в конкретном регионе, была мысль, что может это связано с блокировками ip (привет от Телеграм), но сайт с тех же машин через браузеры доступен.
Подскажите, с чем может быть связано такое поведение программы? Как можно побороть эту проблему?
И еще. Где можно подробно почитать о том, как сформировать строки для функции WebRequest - метод, куки, реферер заголовка и т.д.? Справки MQL мне недостаточно.