Плагин HTTP-Client



  • Добрый день в Блоге опубликована статья "Как получить информацию о подключенных клиентов с WI-FI роутера" https://ih-systems.com/ru/parsing-podkljuchennyh-klientov-s-wi-fi-routera/



  • @sergeyygr:

    Если просмотреть код, то выглядит так

    2.PNG

    и мак - адреса там нет.

    Добрый день, тут задача немного усложнилась, но ничего страшного, вам нужно открыть ту страницу где видны мак адреса и открыть консоль разработчика и перейти на вкладку network и нажать кнопку очистить. Нужно подождать какое то время и скорее всего Вы увидите как браузер делает дополнительные запросы с определенном интервалом, если нажать на этот запрос и вкладку response то можно увидеть содержимое ответа от роутера и скорее всего Вы там увидите мак адреса. Тогда нужно поменять url на этот новый

    @sergeyygr:

    В отладчике

    6.PNG

    Ошибки с авторизацией не видно, запросы проходят, просто не может найти мак адреса, потому что их там нет как выяснилось, происходит браузерный рендеринг, и всё состояние видно динамически без обновления страницы, делается дополнительный запрос и все обновляется 😉



  • @sergeyygr:

    @dev:

    @sergeyygr:

    Если просмотреть код, то выглядит так

    2.PNG

    и мак - адреса там нет.

    Добрый день, тут задача немного усложнилась, но ничего страшного, вам нужно открыть ту страницу где видны мак адреса и открыть консоль разработчика и перейти на вкладку network и нажать кнопку очистить. Нужно подождать какое то время и скорее всего Вы увидите как браузер делает дополнительные запросы с определенном интервалом, если нажать на этот запрос и вкладку response то можно увидеть содержимое ответа от роутера и скорее всего Вы там увидите мак адреса. Тогда нужно поменять url на этот новый

    @sergeyygr:

    В отладчике

    6.PNG

    Ошибки с авторизацией не видно, запросы проходят, просто не может найти мак адреса, потому что их там нет как выяснилось, происходит браузерный рендеринг, и всё состояние видно динамически без обновления страницы, делается дополнительный запрос и все обновляется 😉

    Попробовал, мак адрес нашел где прячется

    1.PNG

    Изменил

    2.PNG

    Получил

    3.PNG

    Пробовал менять метод запроса на POST - результат тот же 😢

    Добрый день, здорово что вы нашли где прячется мак адрес, это скорее всего GET запрос. У Вас ошибка с авторизацией (401). Перейдите на вкладку авторизации и включите галочку "повторять каждый раз", если не поможет нужно проверить ещё раз авторизацию, может что то поменялось



  • @sergeyygr:

    @dev:

    @sergeyygr:

    Попробовал, мак адрес нашел где прячется

    1.PNG

    Изменил

    2.PNG

    Получил

    3.PNG

    Пробовал менять метод запроса на POST - результат тот же 😢

    Добрый день, здорово что вы нашли где прячется мак адрес, это скорее всего GET запрос. У Вас ошибка с авторизацией (401). Перейдите на вкладку авторизации и включите галочку "повторять каждый раз", если не поможет нужно проверить ещё раз авторизацию, может что то поменялось

    Не получается, результат в отладчике тот же :oops:

    Добрый день, Вы можете предоставить доступ? Напишите в личку 😉



  • Добрый день!

    При попытке обратиться к серверу по https с самоподписным сертификатом прилетает ошибка. Можно ли как-то импортировать свой сертификат в доверенные? Добавление сертификата центра сертификации в убунту не помогло
    sert.JPG



  • @homa:

    Добрый день!

    При попытке обратиться к серверу по https с самоподписным сертификатом прилетает ошибка. Можно ли как-то импортировать свой сертификат в доверенные? Добавление сертификата центра сертификации в убунту не помогло

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



  • Есть ли возможность управлять устройством с помощью плагина http без обратной связи? Необходимо управлять громкостью. Создал устройство диммер, настроил канал и команду set, но не работает. В боковом меню при перемещении ползунка внизу пишет: http1.undefined. На мнемосхеме вместо значения громкости выводится ерунда. Я так понимаю, что это проблема с определением состояния устройства. Как правильно настроить плагин в этом случае?



  • Дополнение - регулировка диммера через HTTP-Client работает неправильно:

    Устанавливаю значение 8, а передается - 21 (data=21😞

    15.04 08:11:01.241 IH: command [ { dn: 'VOLL_ALL', prop: 'set', val: 8 } ]
    15.04 08:11:01.244 IH: send { type: 'act',
      data: [ { dn: 'VOLL_ALL', prop: 'set', val: 8 } ] }
    15.04 08:11:01.248 http1: http://192.168.0.43/mp3play?cmd=6&data=21 
    
    


  • Добрый день, ответили в личку 😉



  • Добрый день, доступно обновление плагина, версия 0.0.14

    • исправлена отправка команды set


  • А как-нибудь можно выбрать кодировку запроса?

    Пытаюсь экспериментировать с отправкой SMS через SMS.RU, отправляю русский текст через HTTP-GET запрос, а получаю по SMS кракозябры



  • @dev:

    Добрый день, доступно обновление плагина, версия 0.0.14

    • исправлена отправка команды set

    Проверил - работает отлично!



  • @gis:

    @dev:

    Добрый день, доступно обновление плагина, версия 0.0.14

    • исправлена отправка команды set

    Проверил - работает отлично!

    Добрый день, отлично 😉



  • @dev:

    Коллеги! Ради интереса расскажите какое регулярное выражение нужно для HTTP-плагина чтобы "распарсить", например, 8-й канал MegaD, имея строку вида, сам не смог его сделать…

    OFF/91;OFF/41;OFF/23;OFF/20;OFF/247;OFF/28;OFF/0;OFF;OFF;ON;OFF;OFF;OFF;ON;OFF;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;ON;OFF;OFF;OFF;OFF;OFF;OFF;temp:5.37;temp:2.12;OFF;;OFF;temp:26.50/hum:34.00;OFF;OFF
    
    


  • @Alex_Jet:

    Коллеги! Ради интереса расскажите какое регулярное выражение нужно для HTTP-плагина чтобы "распарсить", например, 8-й канал MegaD, имея строку вида, сам не смог его сделать…

    > OFF/91;OFF/41;OFF/23;OFF/20;OFF/247;OFF/28;OFF/0;OFF;OFF;ON;OFF;OFF;OFF;ON;OFF;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;ON;OFF;OFF;OFF;OFF;OFF;OFF;temp:5.37;temp:2.12;OFF;;OFF;temp:26.50/hum:34.00;OFF;OFF
    > 
    

    Попробуйте так: Регулярное выражение

    ([^\;]*)\;
    
    

    Флаг: gm

    Элемент массива: 9



  • @intrapro:

    @Alex_Jet:

    Коллеги! Ради интереса расскажите какое регулярное выражение нужно для HTTP-плагина чтобы "распарсить", например, 8-й канал MegaD, имея строку вида, сам не смог его сделать…

    > > OFF/91;OFF/41;OFF/23;OFF/20;OFF/247;OFF/28;OFF/0;OFF;OFF;ON;OFF;OFF;OFF;ON;OFF;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;ON;OFF;OFF;OFF;OFF;OFF;OFF;temp:5.37;temp:2.12;OFF;;OFF;temp:26.50/hum:34.00;OFF;OFF
    > > 
    

    Попробуйте так: Регулярное выражение

    > ([^\;]*)\;
    > 
    

    Флаг: gm

    Элемент массива: 9

    Увы, но не вышло… почему-то разбирает всегда 0 канал (["OFF/128;","OFF/128"]) при разных значениях в поле "Элемент массива".

    Еще у меня есть два вопроса:

    1. Почему когда период опроса ставишь 0, то опрос не отключается?

    2. Вы не думали над идеей привязывать данные каналов не только к самим устройствам (dval), а к их возможным параметрам, которые будут отображаться на вкладке "Параметры" в боковом меню устройства?



  • @Alex_Jet:

    @intrapro:

    @Alex_Jet:

    Коллеги! Ради интереса расскажите какое регулярное выражение нужно для HTTP-плагина чтобы "распарсить", например, 8-й канал MegaD, имея строку вида, сам не смог его сделать…

    > > > OFF/91;OFF/41;OFF/23;OFF/20;OFF/247;OFF/28;OFF/0;OFF;OFF;ON;OFF;OFF;OFF;ON;OFF;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;ON;OFF;OFF;OFF;OFF;OFF;OFF;temp:5.37;temp:2.12;OFF;;OFF;temp:26.50/hum:34.00;OFF;OFF
    > > > 
    

    Попробуйте так: Регулярное выражение

    > > ([^\;]*)\;
    > > 
    

    Флаг: gm

    Элемент массива: 9

    Увы, но не вышло… почему-то разбирает всегда 0 канал (["OFF/128;","OFF/128"]) при разных значениях в поле "Элемент массива".

    Еще у меня есть два вопроса:

    1. Почему когда период опроса ставишь 0, то опрос не отключается?

    2. Вы не думали над идеей привязывать данные каналов не только к самим устройствам (dval), а к их возможным параметрам, которые будут отображаться на вкладке "Параметры" в боковом меню устройства?

    Добрый день, мы добавим 4 тип парсера, где можно будет прописать произвольный код на JS 😉



  • @Alex_Jet:

    2. Вы не думали над идеей привязывать данные каналов не только к самим устройствам (dval), а к их возможным параметрам, которые будут отображаться на вкладке "Параметры" в боковом меню устройства?

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



  • А не научите как забирать данные о погоде отсюда - https://weather.com/ru-RU/weather/today?



  • @Alex_Jet:

    А не научите как забирать данные о погоде отсюда - https://weather.com/ru-RU/weather/today?

    Интересный ресурс.

    У них есть API. Сначала открываете карту: https://www.wunderground.com/wundermap?lat=37.769699&lon=-122.393303&zoom=10&type=terrain&tl.play=0&tl.spd=2&extremes=0&fault=0&femaflood=0&fire=0&firewfas=0&fissures=0&fronts=0&hurrevac=0&hur=0&lightning=0&livesurge=0&mm=0&ndfd=0&rad=1&rad.num=1&rad.spd=25&rad.opa=81&rad.type=00Q&rad.type2=&rad.smo=1&rad.stm=0&dir=1&dir.mode=driving&sst=0&sat=0&seismicrisk=0&svr=0&ski=0&snowfall=0&stormreports=0&tor=0&tfk=0&tsunami=0&riv=0&wxsn=1&wxsn.mode=temp&wxsn.opa=50&wxsn.bcdgtemp=0&wxsn.rf=1&cams=0&pix=0

    Выбираете ближайшую или интересующую погодную станцию: https://www.wunderground.com/dashboard/pws/IFIRSANO5

    А там, если нажать F12 можно найти API по которому берутся данные и которые можно регулярным выражением разобрать:

    https://api.weather.com/v2/pws/observations/current?apiKey=6532d6454b8aa370768e63d6ba5a832e&stationId=IFIRSANO5&format=json&units=e

    Судя по всему данные практически в реальном времени там обновляются


Авторизуйтесь, чтобы ответить