Плагин HTTP-Client



  • @homa:

    @dev:

    @homa:

    Этих параметров нет, вообще код не богат…

    Добрый день, значит верстка HTML собирается через JavaScript, он в свою очередь скорее всего делает запрос на сервер и в json забирает набор значений и обновляет в HTML. После загрузки страницы в инструментах разработчика (CTRL + SHIFT + I) в кладке Network должны быть дополнительные запросы (может идти постоянный опрос) где содержаться необходимые Вам значения (обычно JSON). Для удобства можно очистить все запросы и они сами проявиться 😉

    Так получается:

    Добрый день,

    здорово, в плагине HTTP в запросе нужно указать этот URL. В канале выбрать парсер JSON, извлечение данных нужно указать структуру JSON c нужным значением. Для удобства можно тут https://jsoneditoronline.org/ посмотреть структуру JSON, скопировать весь текст и вставить в левое окно а потом нажать стрелочку в право.



  • @dev:

    @homa:

    @dev:

    Добрый день, значит верстка HTML собирается через JavaScript, он в свою очередь скорее всего делает запрос на сервер и в json забирает набор значений и обновляет в HTML. После загрузки страницы в инструментах разработчика (CTRL + SHIFT + I) в кладке Network должны быть дополнительные запросы (может идти постоянный опрос) где содержаться необходимые Вам значения (обычно JSON). Для удобства можно очистить все запросы и они сами проявиться 😉

    Так получается:

    Добрый день,

    здорово, в плагине HTTP в запросе нужно указать этот URL. В канале выбрать парсер JSON, извлечение данных нужно указать структуру JSON c нужным значением. Для удобства можно тут https://jsoneditoronline.org/ посмотреть структуру JSON, скопировать весь текст и вставить в левое окно а потом нажать стрелочку в право.

    через json не получилось, но вроде написал регулярку. Вопрос: как авторизоваться в http интерфейсе, чтобы проверить запрос?



  • @homa:

    @dev:

    @homa:

    Так получается:

    Добрый день,

    здорово, в плагине HTTP в запросе нужно указать этот URL. В канале выбрать парсер JSON, извлечение данных нужно указать структуру JSON c нужным значением. Для удобства можно тут https://jsoneditoronline.org/ посмотреть структуру JSON, скопировать весь текст и вставить в левое окно а потом нажать стрелочку в право.

    через json не получилось, но вроде написал регулярку. Вопрос: как авторизоваться в http интерфейсе, чтобы проверить запрос?

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

    1. Отдавать серверу необходимые данные по которым он сможет авторизовать (сессия может быть временная или постоянная), обычно это Cookie и они добавляются в заголовок запроса, в плагине в настройках URL их можно добавить в chome можно посмотреть содержимое запроса.

    пример в хроме:
    cookies_1.png

    пример в плагине
    cookies_2.png

    2. Делать запрос с постоянной авторизацией (более надежнее чем сессия), обычно это POST запрос с передачей параметров формы запроса (ввод логина и пароля), в плагине в настройках URL их можно добавить body параметры, в chome можно посмотреть содержимое body параметров.

    пример в хроме:
    post_form_1.png

    пример в плагине
    post_form_2.png



  • Возвращает ошибку:

    28.01 13:05:06.684 IH: get [{"dn":"STEMP7","err":"Cannot read property '1' of null"}]

    28.01 13:05:06.685 IH: set {"STEMP7":{"err":"Cannot read property '1' of null"}}

    body с логином\паролем так и не нашел
    ipmi3.jpg
    ipmi4.jpg
    ipmi5.jpg



  • @homa:

    Возвращает ошибку:

    28.01 13:05:06.684 IH: get [{"dn":"STEMP7","err":"Cannot read property '1' of null"}]

    28.01 13:05:06.685 IH: set {"STEMP7":{"err":"Cannot read property '1' of null"}}

    body с логином\паролем так и не нашел

    Добрый день, попробуйте следующие регулярные выражения для intel integrated bmc web console:

    http://127.0.0.1/rpc/getallsensors.asp

    Front Panel .{3,250}RawReading' : ([0-9]{1,3}),'Se
    
    
    

    http://127.0.0.1/rpc/getpowerstat.asp

    LSB_CURR' : (.*),'MSB_CURR
    
    
    


  • @dev:

    @homa:

    Возвращает ошибку:

    28.01 13:05:06.684 IH: get [{"dn":"STEMP7","err":"Cannot read property '1' of null"}]

    28.01 13:05:06.685 IH: set {"STEMP7":{"err":"Cannot read property '1' of null"}}

    body с логином\паролем так и не нашел

    Добрый день, попробуйте следующие регулярные выражения для intel integrated bmc web console:

    http://127.0.0.1/rpc/getallsensors.asp

    > Front Panel .{3,250}RawReading' : ([0-9]{1,3}),'Se
    > 
    > 
    

    http://127.0.0.1/rpc/getpowerstat.asp

    > LSB_CURR' : (.*),'MSB_CURR
    > 
    > 
    

    Без изменений. Если в запросе заменить URL с http://10.255.255.8 на http://10.255.255.8/rpc/getallsensors.asp то ошибка:

    28.01 16:33:01.078 IH: get [{"dn":"STEMP7","err":"Response status code no match: 405"}]

    28.01 16:33:01.078 IH: set {"STEMP7":{"err":"Response status code no match: 405"}}

    Мне кажется не проходит авторизация

    PS поправил cookie на свежую - вернулась прежняя ошибка



  • @homa:

    @dev:

    @homa:

    Возвращает ошибку:

    28.01 13:05:06.684 IH: get [{"dn":"STEMP7","err":"Cannot read property '1' of null"}]

    28.01 13:05:06.685 IH: set {"STEMP7":{"err":"Cannot read property '1' of null"}}

    body с логином\паролем так и не нашел

    Добрый день, попробуйте следующие регулярные выражения для intel integrated bmc web console:

    http://127.0.0.1/rpc/getallsensors.asp

    > > Front Panel .{3,250}RawReading' : ([0-9]{1,3}),'Se
    > > 
    > > 
    

    http://127.0.0.1/rpc/getpowerstat.asp

    > > LSB_CURR' : (.*),'MSB_CURR
    > > 
    > > 
    

    Без изменений. Если в запросе заменить URL с http://10.255.255.8 на http://10.255.255.8/rpc/getallsensors.asp то ошибка:

    28.01 16:33:01.078 IH: get [{"dn":"STEMP7","err":"Response status code no match: 405"}]

    28.01 16:33:01.078 IH: set {"STEMP7":{"err":"Response status code no match: 405"}}

    Мне кажется не проходит авторизация

    PS поправил cookie на свежую - вернулась прежняя ошибка

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



  • @dev:

    @homa:

    @dev:

    Добрый день, попробуйте следующие регулярные выражения для intel integrated bmc web console:

    http://127.0.0.1/rpc/getallsensors.asp

    > > > Front Panel .{3,250}RawReading' : ([0-9]{1,3}),'Se
    > > > 
    > > > 
    

    http://127.0.0.1/rpc/getpowerstat.asp

    > > > LSB_CURR' : (.*),'MSB_CURR
    > > > 
    > > > 
    

    Без изменений. Если в запросе заменить URL с http://10.255.255.8 на http://10.255.255.8/rpc/getallsensors.asp то ошибка:

    28.01 16:33:01.078 IH: get [{"dn":"STEMP7","err":"Response status code no match: 405"}]

    28.01 16:33:01.078 IH: set {"STEMP7":{"err":"Response status code no match: 405"}}

    Мне кажется не проходит авторизация

    PS поправил cookie на свежую - вернулась прежняя ошибка

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

    Добрый день!

    SNMP нет, но его можно попробовать вытащить с хостовой системы. В любом случае SNMP тоже функционал интересный и нужный



  • @homa:

    @dev:

    @homa:

    Без изменений. Если в запросе заменить URL с http://10.255.255.8 на http://10.255.255.8/rpc/getallsensors.asp то ошибка:

    28.01 16:33:01.078 IH: get [{"dn":"STEMP7","err":"Response status code no match: 405"}]

    28.01 16:33:01.078 IH: set {"STEMP7":{"err":"Response status code no match: 405"}}

    Мне кажется не проходит авторизация

    PS поправил cookie на свежую - вернулась прежняя ошибка

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

    Добрый день!

    SNMP нет, но его можно попробовать вытащить с хостовой системы. В любом случае SNMP тоже функционал интересный и нужный

    Добрый день, если данные можно вытащить по SNMP то лучше дождаться плагин-SNMP, сейчас плагин в стадии разработки в скором времени будет опубликован (1-2 нед.)



  • @dev:

    @homa:

    @dev:

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

    Добрый день!

    SNMP нет, но его можно попробовать вытащить с хостовой системы. В любом случае SNMP тоже функционал интересный и нужный

    Добрый день, если данные можно вытащить по SNMP то лучше дождаться плагин-SNMP, сейчас плагин в стадии разработки в скором времени будет опубликован (1-2 нед.)

    А есть ли возможность увидеть исходник текста(страницы) по которой работает TEXT GET/TEXT SEARCH ? Я вроде близко к разгадке, но не понимаю куда после POST попадает плагин. Хочется понять что за страница или какой от страницы пришел ответ



  • @homa:

    @dev:

    @homa:

    Добрый день!

    SNMP нет, но его можно попробовать вытащить с хостовой системы. В любом случае SNMP тоже функционал интересный и нужный

    Добрый день, если данные можно вытащить по SNMP то лучше дождаться плагин-SNMP, сейчас плагин в стадии разработки в скором времени будет опубликован (1-2 нед.)

    А есть ли возможность увидеть исходник текста(страницы) по которой работает TEXT GET/TEXT SEARCH ? Я вроде близко к разгадке, но не понимаю куда после POST попадает плагин. Хочется понять что за страница или какой от страницы пришел ответ

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



  • @dev:

    @homa:

    @dev:

    Добрый день, если данные можно вытащить по SNMP то лучше дождаться плагин-SNMP, сейчас плагин в стадии разработки в скором времени будет опубликован (1-2 нед.)

    А есть ли возможность увидеть исходник текста(страницы) по которой работает TEXT GET/TEXT SEARCH ? Я вроде близко к разгадке, но не понимаю куда после POST попадает плагин. Хочется понять что за страница или какой от страницы пришел ответ

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

    Можно еще некоторую консультацию? Нужно залогиниться, отправкой POST-запроса, потом сделать 2-3 GET-запроса. Какой запрос где нужно выполнять? В настройках группы канала POST, а потом на каждый субканал GET или все GET внутри субканала в несколько команд? Или в настройках группы должен быть основной GET, который получает информацию? Как выполнить GET в определенном порядке? Можно ли получить параметр из одного GET запроса и передать его в следующий?

    Еще получилось поймать такую ошибку:

    30.01 14:32:05.278 IH: get [{"dn":"STEMP7","err":"Cannot read property '1' of null"},{"dn":"STEMP7","value":"NI:��\b�D�B�H���\u001d�Ф\u0012�fRx�Li{s�͍�=Q�L����\u0019�m�#ܯ�\u0012\u0002�Z\u0016~*�jJ��\u0013)�\u0018�˂3�m���Ft"�g�Y��3\u0014��ϩ�t�g��md\u001c9s`-!��ߍRk�3N���INԑ���(�B[m'�U\j�D��v�ڞ��b\u0013��DJ\u001f.&�\u000b���\bu�HQ])���\u0004j\u000b˦��Sk��sX��͍ 0�r"2�����2S{��"}]

    30.01 14:32:05.279 IH: set {"STEMP7":{"err":0,"aval":"NI:��\b�D�B�H���\u001d�Ф\u0012�fRx�Li{s�͍�=Q�L����\u0019�m�#ܯ�\u0012\u0002�Z\u0016~*�jJ��\u0013)�\u0018�˂3�m���Ft"�g�Y��3\u0014��ϩ�t�g��md\u001c9s`-!��ߍRk�3N���INԑ���(�B[m'�U\j�D��v�ڞ��b\u0013��DJ\u001f.&�\u000b���\bu�HQ])���\u0004j\u000b˦��Sk��sX��͍ 0�r"2�����2S{��"}}



  • На мой вопрос:

    Здравствуйте!

    А можно ли передать аналоговое значение?

    В командах увидел только on, off и toggle.

    Прозвучал ответ:
    @dev:

    Добрый день, добавим в следующей версии 😉

    Теперь новый вопрос: Так когда все таки? :?:



  • @ellab:

    На мой вопрос:

    Здравствуйте!

    А можно ли передать аналоговое значение?

    В командах увидел только on, off и toggle.

    Прозвучал ответ:
    @dev:

    Добрый день, добавим в следующей версии 😉

    Теперь новый вопрос: Так когда все таки? :?:

    Добрый день, добавим в версию 0.0.10 😉



  • Нашел интересный артефакт: если получаем значение с >6 цифр после запятой, то на мнемосхеме будет отображаться только целая часть. В расчетах значение участвует правильно.
    8digits.jpg



  • А никто еще не пробовал HTTP-клиентом баланс карты на сбербанке получать? Вроде все должно работать, но с ходу не взлетело



  • @homa:

    А никто еще не пробовал HTTP-клиентом баланс карты на сбербанке получать? Вроде все должно работать, но с ходу не взлетело

    А можно как-то это прикрутить?)) https://github.com/zenmoney/ZenPlugins/tree/master/plugins/sberbank-online



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

    доступно обновление, версия 0.0.10. Для получения нового функционала необходимо вновь создать запросы и каналы.

    Изменения:

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

    • Добавлен предварительный запрос Авторизации

    • Работа с Куки, поддержка сессии

    • В параметрах плагина можно задать уровень отладочных сообщений

    • Добавлена команда set (Димер), для постановки значения нужно использовать следующее выражение ${value}

    http://localhost:8081?settings_dev=${value}&login=user
    
    
    

    http_cset.png



  • @homa:

    А никто еще не пробовал HTTP-клиентом баланс карты на сбербанке получать? Вроде все должно работать, но с ходу не взлетело

    Добрый день,

    какая проблема у Вас возникла? Получилось ли у Вас получить Authorization Code и Access Token ?



  • @dev:

    Добрый день,

    доступно обновление, версия 0.0.10. Для получения нового функционала необходимо вновь создать запросы и каналы.

    Изменения:

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

    • Добавлен предварительный запрос Авторизации

    • Работа с Куки, поддержка сессии

    • В параметрах плагина можно задать уровень отладочных сообщений

    • Добавлена команда set (Димер), для постановки значения нужно использовать следующее выражение ${value}

    > http://localhost:8081?settings_dev=${value}&login=user
    > 
    > 
    

    http_cset.png

    А можно ли ${value} использовать в хедере post-запроса? И как ему присвоить значение? Это какая-то глобальная переменная или можно указывать ${sensor.value}? Появилась мысль передавать показания на сайте УК в их форме post-запросом, но для этого нужно получить значения счётчиков, даты и выполнить запрос по расписанию)


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