Отправка HTTP-запросов от устройств серии Board, настольных и комнатных
list-menuОтправить обратную связь?
Эта функция позволяет устройствам серии Board, настольных и комнат инициировать и получать запросы HTTPs с сервером HTTP. Эти устройства поддерживают такие методы, как POST, PUT, Patch, Get и Delete, что позволяет по-разному взаимодействовать с сервером.

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

Меры безопасности:

  • Функция запроса клиента HTTPs по умолчанию отключена. Системный администратор должен явным образом включить эту функцию, установив для HttpClient > Mode значение «Вкл .» ( xConfiguration HttpClient Mode: Вкл .).

  • Системный администратор может предотвратить использование HTTP, установив для HttpClient > AllowHTTP значение False ( xConfiguration HttpClient AllowHTTP: False ).

  • Системный администратор может задать список HTTP-серверов, которым устройство может передавать данные. (См. раздел «xCommand HttpClient разрешить имена хостов ».)

  • Количество одновременных запросов HTTP ограничено.

Конфигурации, упомянутые в этой статье, доступны в веб-интерфейсе устройства, а также в API. Команды доступны через API. Прочитайте статью «Дополнительные настройки» для получения дополнительной информации о том, как получить доступ к веб-интерфейсу и использовать API.

Список разрешенных HTTP-серверов

Системный администратор может использовать следующие команды для настройки и ведения списка из десяти разрешенных серверов HTTP (хостов):

  • xCommand HttpClient Разрешить выражение добавления имени хоста: <регистр. выражение, соответствующее имени хоста или IP адресу сервера HTTP>

  • xCommand HttpClient разрешить очистку имени хоста

  • xCommand HttpClient разрешить список имен хостов

  • xCommand HttpClient Разрешить имя хоста удалить ID: <ID записи в списке>

Если список содержит записи о серверах, на эти серверы можно отправлять только запросы HTTPs. Однако если список пуст, можно отправлять запросы на любой сервер HTTP.

Проверка списка разрешенных серверов выполняется как при использовании небезопасной (HTTP), так и при защищенной (HTTPS) передачи данных.

HTTPS без подтверждения сертификата

При отправке запросов по HTTPS устройство проверяет сертификат сервера HTTPS по умолчанию. Если сертификат сервера HTTPS не найден допустимым, вы получаете сообщение об ошибке. Устройство не отправляет данные на этот сервер.

Мы рекомендуем использовать HTTPS для подтверждения сертификатов. Если проверка сертификата невозможна, системный администратор может задать для HttpClient > AllowInsecureHTTPS значение «Вкл .» ( xConfiguration HttpClient AllowInsecureHTTPS: Вкл .). Это позволяет использовать HTTPS без проверки сертификата сервера.

Отправка запросов HTTP

После включения функции запросов клиента HTTPs вы можете использовать следующие команды для отправки запросов на сервер HTTPs. <метод>— либо POST , PUT,Исправление,Получить , либо Удалить.

  • xCommand HttpClient <Метод> [AllowInsecureHTTPS: <True/False>] [Заголовок: текст <заголовок>] [ResponseSizeLimit: <Max Размер ответа>] [Результат: <None/PlainText/Base64>] [Тайм-аут: < Период ожидания>] Url-адрес: <URL для отправки запроса на>

Добавление полей заголовка не является обязательным. Можно добавить до 20 полей.

Значение параметра AllowInsecureHTTPS действует только в том случае, если системный администратор допустил использование HTTPS без проверки сертификата сервера. В этом случае можно отправлять данные на сервер без проверки сертификата сервера, если для параметра задано значение True . Если оставить параметр неактивным или задать ему значение False , в случае неудачи проверки сертификата данные не отправляются.

Параметр ResposenSizeLimit — это максимальный размер полезной нагрузки (байтов), принятый устройством в качестве ответа от сервера. Если полезная нагрузка для ответа превышает указанный максимальный размер, команда возвращает ошибку состояния. В сообщении об ошибке говорится, что превышен максимальный размер файла. Однако это не оказывает никакого влияния на сторону сервера. сервер получил и обработал запрос надлежащим образом.

Используйте параметр ResultBody, чтобы решить, как форматировать тело HTTP-ответа с сервера в результате команды. Можно выбрать три варианта

  • Нет : в результаты команды не включайте тело HTTP-ответа.

  • Base64 : кодируйте тело Base64 до включения его в результат.

  • PlainText : включите основное текст в результат как простой текст. Если ответ содержит буквы, которые нельзя распечатывать, команда возвращает ошибку с сообщением о наличии непечатываемых данных.

Используйте параметр «Тайм-аут », чтобы задать период ожидания (секунды). Если запрос не завершен в этот период, API возвращает ошибку.

Введите полезную нагрузку (данные) сразу после выдачи команды. Все, что вы вводите, включая перерывы линии, является частью полезной нагрузки. После завершения — разрыв линии («\n») и отдельная строка, содержащая только точку, за которой следует разрыв линии (».\n"). Теперь команда выполняется, и данные отправляются на сервер.

Примеры

В обоих примерах текст сообщения имеет форматНЕСУНЕС. Это может быть любой формат в зависимости от ожидаемого формата службы, получающего сообщения.

Пример 1: управление устройством IoT с помощью HTTP POST

Макрофункциональность, которая включает индикатор, подключенный к мосту Philips Hue:

 функция hue_command(data) { var url = 'http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state'; var headers = 'Тип содержимого: приложение/доб;; var command = '{"on":true}'; 6pi.command('HttpClient PUT', { 'URL:URL:URL,, 'Заголовок': заголовки }, command); } 

То же самое можно сделать в командной строке с помощью кнопки API:

 xcommand HttpClient PUT: URL-адрес "Тип содержимого: приложение/буда": "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} . 

Пример 2: публикация данных в инструмент мониторинга по HTTP POST

 xcommand HttpClient POST заголовок: "Тип содержимого: приложение/буда" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Сообщение":"Пользователь сообщил о проблеме с этой системой","systemName":"Зал заседаний 4-го этажа","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Двойной"} . 

Дополнительная информация

Дополнительные сведения об использовании запросов HTTP-клиентов см. в руководстве по настройке Выберите последнюю версию.

Поддержка Cisco (TAC) не поддерживает отладку кода сторонних разработчиков, включая макросы. Пожалуйста, установите флажок https://roomos.cisco.com если вам нужна помощь с макросами и кодом стороннего разработчика.

Была ли статья полезной?
Была ли статья полезной?