Запуск скрипта через tasker http get

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

roman_rv
Сообщения: 24
Зарегистрирован: Вт дек 13, 2016 8:01 am
Откуда: Екатеринбург
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Запуск скрипта через tasker http get

Сообщение roman_rv » Вс фев 05, 2017 3:21 pm

Всем привет.
Настроил GPS трекер по инструкциям - все работает, данные пересылаются таскером через GET запрос к модулю gps.php
Создаю аналогичную задачу для запуска скрипта по ссылке - работает только из локальной сети.
Почему так?
Почему данные к модулю gps.php извне проходят нормально, а скрипты не запускаются? Как забороть?
Спасибо.

PS. Потестил запуски методов и присвоение свойств объектам - та же история: локально работают, удаленно - нет. Порты проброшены, web интерфейс работает из интернета.
Выходит, что передать данные методом get login:pass@ip/path можно только модулю gps.php?

В чем секрет этого модуля? :)

Почему так??? Или я не понимаю чего-то?

PPS. Только что пришла в голову мысль, возможно ошибочная, потестирую завтра, что невозможность управлять объектами и скриптами из внешних сетей приложениями, созданными в appinventore - это не проблема приложений, а особенность Majordomo:
1. Доступ к ресурсам с авторизацией login:pass@ip есть в примерах appinventor'a - т.е. со стороны приложения это работает
2. Данные для gps.php отправляются именно таким способом, т.е. со стороны сервера это работает.
3. Отправка данные этим же способом для других компонентов системы (сценарии, объекты) не работают.
Вопрос: ПОЧЕМУ? )))
Raspberry Pi 3 hdd boot
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Запуск скрипта через tasker http get

Сообщение savenko_egor » Вс фев 05, 2017 10:52 pm

Покажите код скрипта из MDM и код из Таскера.
roman_rv
Сообщения: 24
Зарегистрирован: Вт дек 13, 2016 8:01 am
Откуда: Екатеринбург
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Re: Запуск скрипта через tasker http get

Сообщение roman_rv » Вс фев 05, 2017 11:09 pm

В таскере вот так (не работает):

Код: Выделить всё

AtHomeSend2 (48)
    A1: HTTP Get [ Server:Port:%MYSERVER Path:/objects/ Attributes:script=RHome Cookies: User Agent: Timeout:10 Mime Type: Output File: Trust Any Certificate:Выключить ] 
Скрипт в МД просто меняет свойство тестового объекта на 1.

Код таскера для отправки координат (работает)

Код: Выделить всё

GpsSend (15)
    A1: Расчленить перем. [ Имя:%WIFII Разделитель:" Удалить исходную базу:Выключить ] 
    A2: Если [ %WIFII2 != R2.0 ]
    A3: Получить коорд-ты [ Источник:Любой Задержка (сек.):130 Сразу продолжать задачу:Выключить Keep Tracking:Выключить Continue Task After Error:Включить ] 
    A4: Расчленить перем. [ Имя:%LOC Разделитель:, Удалить исходную базу:Выключить ] 
    A5: HTTP Get [ Server:Port:%MYSERVER Path:gps.php Attributes:latitude=%LOC1
longitude=%LOC2
altitude=%LOCALT
provider=%TNET
speed=%LOCSPD
battlevel=%BATT
deviceid=%DEVID
accuracy=%LOCACC Cookies: User Agent: Timeout:15 Mime Type: Output File: Trust Any Certificate:Выключить Continue Task After Error:Включить ] 
    A6: Конец Если 
И вот так работает тоже

Код: Выделить всё

GpsSendget (50)
    A1: HTTP Get [ Server:Port:%MYSERVERLOC Path:/objects/ Attributes:script=RHome Cookies: User Agent: Timeout:15 Mime Type: Output File: Trust Any Certificate:Выключить Continue Task After Error:Включить ] 
 
%MYSERVERLOC = 192.168.1.114
Последний раз редактировалось roman_rv Вс фев 05, 2017 11:40 pm, всего редактировалось 1 раз.
Raspberry Pi 3 hdd boot
roman_rv
Сообщения: 24
Зарегистрирован: Вт дек 13, 2016 8:01 am
Откуда: Екатеринбург
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Re: Запуск скрипта через tasker http get

Сообщение roman_rv » Вс фев 05, 2017 11:15 pm

Код: Выделить всё

AtHomeSend (47)
    A1: HTTP Get [ Server:Port:192.168.1.114/objects/?op=set&object=RomkaPhone&p=atHome&v=1 Path: Attributes: Cookies: User Agent: Timeout:10 Mime Type: Output File: Trust Any Certificate:Выключить ] 
Вот так работает тоже. Меняю ip на внешний с login:pass@... - не работает. :(
Raspberry Pi 3 hdd boot
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Запуск скрипта через tasker http get

Сообщение savenko_egor » Вс фев 05, 2017 11:45 pm

Попробуйте воспроизвести отправку из браузера. То есть откройте в браузере строку login:pass@ineternet_ip/objects/?op=set&object=RomkaPhone&p=atHome&v=1
Так мы исключим проблему с логином и паролем.
roman_rv
Сообщения: 24
Зарегистрирован: Вт дек 13, 2016 8:01 am
Откуда: Екатеринбург
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Re: Запуск скрипта через tasker http get

Сообщение roman_rv » Вс фев 05, 2017 11:48 pm

Пробовал. В обычном режиме, когда ранее заходил на веб-интерфейс с окошком авторизации - работает. Пытался через окно инкогнито в хроме - не работает с всплыванием окна авторизации.
Raspberry Pi 3 hdd boot
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Запуск скрипта через tasker http get

Сообщение savenko_egor » Вс фев 05, 2017 11:53 pm

Ну тогда проблема именно в передаче логина и пароля. Для верности попробуйте отключить авторизацию по логину и паролю, и попробовать изменить значение по ссылке как я указал выше.
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Запуск скрипта через tasker http get

Сообщение savenko_egor » Пн фев 06, 2017 12:08 am

Забыл добавить что для доступа к gps.php не нужны логин и пароль. Именно по этому в интернете у Вас нормально координаты передаются, а GET запрос не работает.
Так же именно по этому у Вас в локальной сети всё работает корректно изменение свойства, а из интернета нет. Нужно разобраться как правильно передать логин и пароль. Хотя так как Вы пробуете - это правильно по всем канонам. Но может у Вас в логине или пароле встречаются символы "@" или ":" и из-за этого не работает изменение свойства.
Хотя вот сейчас у себя проверил, у меня символ "@" в пароле, и никаких проблем не возникло.
За это сообщение автора savenko_egor поблагодарил:
roman_rv (Пн фев 06, 2017 12:36 am)
Рейтинг: 1.16%
roman_rv
Сообщения: 24
Зарегистрирован: Вт дек 13, 2016 8:01 am
Откуда: Екатеринбург
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Re: Запуск скрипта через tasker http get

Сообщение roman_rv » Пн фев 06, 2017 12:32 am

warik писал(а):Забыл добавить что для доступа к gps.php не нужны логин и пароль. Именно по этому в интернете у Вас нормально координаты передаются, а GET запрос не работает.
Так же именно по этому у Вас в лsокальной сети всё работает корректно изменение свойства, а из интернета нет. Нужно разобраться как правильно передать логин и пароль. Хотя так как Вы пробуете - это правильно по всем канонам. Но может у Вас в логине или пароле встречаются символы "@" или ":" и из-за этого не работает изменение свойства.
Хотя вот сейчас у себя проверил, у меня символ "@" в пароле, и никаких проблем не возникло.
Спасибо, про авторизацию в gps.php - это, наверное, тот самый ответ, что я искал! ))
В логине буквы лат. разного регистра и нижнее подчеркивание, пароль - латиница разного регистра и цифры
Сейчас только сделал в appinv приложение, которое по кнопке отправляет цифры в формате координат для gps.php - отражаются в логах трекера нормально (до того, как Ваше сообщение прочитал).
Выходит, логин и пароль корректно передаются только из окна авторизации браузера? Разобраться с корректностью передачи через сторонний софт для меня уже затруднительно. В одной из обучалок appinvertor был совет кодировать логин и пароль в base64 - пробовал, не выходит ((

Еще один ключевой вопрос: это у меня некорректно передается логин с паролем из сторонних приложений или это общая проблема? Попадалось на форуме, что с авторизацией из appinventora не все гладко?

Спасибо за оперативность!

PS. Выход ли создание модулей, аналогичных gps.php (не требующих авторизации) для обработки команд из интернета? Понятно, что в ущерб безопасности, но лучше, чем совсем без пароля?
Raspberry Pi 3 hdd boot
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Запуск скрипта через tasker http get

Сообщение Chainik » Пт сен 07, 2018 11:12 am

Ребята, подскажите, пожалуйста ответ на такой вопрос. Допустим, есть телефон на Андроид. Он находится в одной Wi-Fi-сети вместе с Мажордомо. Имеется ли возможность с помощью Tasker организовать следующее:
1. При поступлении звонка на телефон послать get-запрос (http://192.xxxxxxxxxxxxxxxxxxxx......).
2. При снятии трубки на поступивший звонок послать get-запрос (http://192.xxxxxxxxxxxxxxxxxxxx......).
3. При поступлении звонка на телефон запустить скрипт или метод в Мажордомо?

Спасибо!
Ответить