WebRequest работает на пользовательских компах и не работает на ВПС...

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Sofiia Butenko
14146
Sofiia Butenko  

Весь смысл скачать данные за определенный период, поэтому обычные решения что были в сети не подошли (может не увидела таких и буду благодарна если кинете).

Ниже представленный код работает на двух домашних компах отлично ( мой и заказчика) и не работает на двух ВПС серверах... 

Если  не задавать "X-Requested-With:XMLHttpRequest" - работает везде, но этот заголовок задать необходимо т.к. сайт тогда перекидывает на главную страницу.

Ошибка в mql - 5203,  а в result - 12002 - т.е. он просто идет как неверный запрос 

Таймер 20 сек, за этот момент уже нашла на форме - не помогло. 

Код: 

string result_headers;

char   post[], result[];

string pos_url="https://uk.investing.com/economic-calendar/Service/getCalendarFilteredData";

if (WebRequest("POST", pos_url, "X-Requested-With:XMLHttpRequest", NULL, timeout, post, ArraySize(post), result, result_headers) == -1){  

   Print("No load day "+TimeToString(_time_start)+" Error in WebRequest POST. Code  = "+IntegerToString(GetLastError())+" ("+CharArrayToString(result)+"/"+result_headers+")"); 

   return(false);}

Alexandr Bryzgalov
50657
Alexandr Bryzgalov  
Galina Bobro:

Весь смысл скачать данные за определенный период, поэтому обычные решения что были в сети не подошли (может не увидела таких и буду благодарна если кинете).

Ниже представленный код работает на двух домашних компах отлично ( мой и заказчика) и не работает на двух ВПС серверах... 

Если  не задавать "X-Requested-With:XMLHttpRequest" - работает везде, но этот заголовок задать необходимо т.к. сайт тогда перекидывает на главную страницу.

Ошибка в mql - 5203,  а в result - 12002 - т.е. он просто идет как неверный запрос 

Таймер 20 сек, за этот момент уже нашла на форме - не помогло. 

Код: 

string result_headers;

char   post[], result[];

string pos_url="https://uk.investing.com/economic-calendar/Service/getCalendarFilteredData";

if (WebRequest("POST", pos_url, "X-Requested-With:XMLHttpRequest", NULL, timeout, post, ArraySize(post), result, result_headers) == -1){  

   Print("No load day "+TimeToString(_time_start)+" Error in WebRequest POST. Code  = "+IntegerToString(GetLastError())+" ("+CharArrayToString(result)+"/"+result_headers+")"); 

   return(false);}

на вид не хватает каких-то библиотек на vps

попробуйте установить Visual Studio на vps

Yuriy Zaytsev
18680
Yuriy Zaytsev  
Galina Bobro:

Весь смысл скачать данные за определенный период, поэтому обычные решения что были в сети не подошли (может не увидела таких и буду благодарна если кинете).

Ниже представленный код работает на двух домашних компах отлично ( мой и заказчика) и не работает на двух ВПС серверах... 

Если  не задавать "X-Requested-With:XMLHttpRequest" - работает везде, но этот заголовок задать необходимо т.к. сайт тогда перекидывает на главную страницу.

Ошибка в mql - 5203,  а в result - 12002 - т.е. он просто идет как неверный запрос 

Таймер 20 сек, за этот момент уже нашла на форме - не помогло. 

Код: 

string result_headers;

char   post[], result[];

string pos_url="https://uk.investing.com/economic-calendar/Service/getCalendarFilteredData";

if (WebRequest("POST", pos_url, "X-Requested-With:XMLHttpRequest", NULL, timeout, post, ArraySize(post), result, result_headers) == -1){  

   Print("No load day "+TimeToString(_time_start)+" Error in WebRequest POST. Code  = "+IntegerToString(GetLastError())+" ("+CharArrayToString(result)+"/"+result_headers+")"); 

   return(false);}

Галина, VPS смотрят в интернет   не через прокси ?

kaus_bonus
105
kaus_bonus  

а я бы предложил посмотреть в сторону java,либо вообще отсутствуют на впс,либо ...

провел сейчас эксперимент-включен в браузере NoScript и AdBlock, ссылка из вашего запроса не работает - редиректит сразу на главную страницу, и так как кнопка фильтра календаря у них сделана через скрипт,то она,разумеется,не работает. 

есть же специальная защита от парсинга ботами-мол,у вас не включены скрипты-вы бот! 

Sofiia Butenko
14146
Sofiia Butenko  
kaus_bonus:

а я бы предложил посмотреть в сторону java,либо вообще отсутствуют на впс,либо ...

провел сейчас эксперимент-включен в браузере NoScript и AdBlock, ссылка из вашего запроса не работает - редиректит сразу на главную страницу, и так как кнопка фильтра календаря у них сделана через скрипт,то она,разумеется,не работает. 

есть же специальная защита от парсинга ботами-мол,у вас не включены скрипты-вы бот! 

Ну это оченього логично т.к. запрос к  Ajax. Дело в том что  не  главную страницу возвращает, а вообще запрос не выполняется
Sofiia Butenko
14146
Sofiia Butenko  

В общем, на всяк случай Java обновила - не помогло. Visual Studio и у меня на компе не стоит, у заказчика думаю тем более и работает.

Прокси не вижу в свойствах обозревателя, но сайт говорит что возможно используются средства анонимности https://2ip.ru/privacy/bar/1769500_c77a1c.html

Проверка анонимности
Проверка анонимности
  • 2ip.ru
  • 2ip.ru
Метод проверки Результат 80 %
kaus_bonus
105
kaus_bonus  
а просто через браузер на впс работает кнопка эта? 
TheXpert
18275
TheXpert  
Galina Bobro:
Дело в том что  не  главную страницу возвращает, а вообще запрос не выполняется
12002 это таймаут.
Sofiia Butenko
14146
Sofiia Butenko  

В браузере заходит.  Увеличение таймаута не помогает

Нашла инфу, указала рефера, пока не помогло 

Для ограничения XmlHttpRequest используется философия "Same Origin Policy". Она очень проста - каждый сайт в своей песочнице. Запрос можно делать только на адреса с тем же протоколом, доменом, портом, что и текущая страница.

Т.е, со страницы на адресе http://site.com нельзя сделать XmlHttpRequest на адрес https://site.com, http://site.com:81 или http://othersite.com

What is App Cloud?
  • www.salesforce.com
Salesforce1 Platform is now App Cloud; facilitating fast app development that help you connect employees, engage customers, integrate, and connect everything and everyone.
Alexandr Bryzgalov
50657
Alexandr Bryzgalov  

либ не хватает

на компе они есть на впс нет

установка студии решает проблему с  либами.

Sergey Dzyublik
4369
Sergey Dzyublik  

Поставьте прокси сниффер на VPS (хватит и http-шных как "burp suite" или "owasp",....).
Прокиньте через него интернет трафик.
Посмотрите что реально отправляется.


SOP ("Same Origin Policy") - ни к чему, это с другой песни. 
Например, он говорит, что с страницы www.mql5.com в браузере, грубо говоря, не возможно получить данные из других сайтов не относящиеся к этому домену, порту,протоколу....

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий