Плагин HTTP-Client



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

    Помогите разобраться с плагином. Есть IPMI от сервера (с авторизацией), хочется получать из него некоторые значения (температура, потребляемая мощность). Как построить запрос?
    ipmi.jpg



  • @homa:

    Добрый день!

    Помогите разобраться с плагином. Есть IPMI от сервера (с авторизацией), хочется получать из него некоторые значения (температура, потребляемая мощность). Как построить запрос?

    Добрый день, для начала нужно посмотреть есть ли это значение в исходном коде, в хроме можно нажать CTRL + U потом CTRL + F и попробовать найти нужное Вам значение, если все получилось предоставьте скриншот.



  • @dev:

    @homa:

    Добрый день!

    Помогите разобраться с плагином. Есть IPMI от сервера (с авторизацией), хочется получать из него некоторые значения (температура, потребляемая мощность). Как построить запрос?

    Добрый день, для начала нужно посмотреть есть ли это значение в исходном коде, в хроме можно нажать CTRL + U потом CTRL + F и попробовать найти нужное Вам значение, если все получилось предоставьте скриншот.

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

    [/i][/i]
    


  • @homa:

    @dev:

    @homa:

    Добрый день!

    Помогите разобраться с плагином. Есть IPMI от сервера (с авторизацией), хочется получать из него некоторые значения (температура, потребляемая мощность). Как построить запрос?

    Добрый день, для начала нужно посмотреть есть ли это значение в исходном коде, в хроме можно нажать CTRL + U потом CTRL + F и попробовать найти нужное Вам значение, если все получилось предоставьте скриншот.

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

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



  • @dev:

    @homa:

    @dev:

    Добрый день, для начала нужно посмотреть есть ли это значение в исходном коде, в хроме можно нажать CTRL + U потом CTRL + F и попробовать найти нужное Вам значение, если все получилось предоставьте скриншот.

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

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

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



  • @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


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