Интеграция в другие системы

Материал из WebHMI Wiki
Версия от 10:31, 4 апреля 2017; Alexander.kuzmuk (обсуждение | вклад) (Новая страница: «WebHMI позволяет взаимодействовать с другими системами посредством выполнения HTTP-запросо…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

WebHMI позволяет взаимодействовать с другими системами посредством выполнения HTTP-запросов. Для этого в WebHMI есть библиотека [Lua-cURLv3]. С ее помощью можно легко и просто отправлять данные в сторонние системы а также запрашивать необходимые данные из этих систем.

Пример программы, выполняющей HTTPS-запрос для отправки данных виде файла на URL https://demo.com/upload:

function main (userId)
    
  INFO("Doing CURL");

  c = cURL.easy_init()
  c:setopt_url("https://demo.com/upload")
  c:setopt{ cainfo = '/etc/ssl/cacert.pem' }
    
  postdata = {
      name = {
          file="dummy.html",
          data="<html><bold>bold</bold></html>",
          type="text/html"
      } 
  }
  c:post(postdata)
  c:perform()
  c:close()

  INFO("CURL done");
end

Обратите внимание, что для корректной работы SSL-сертификатов необходимо иметь точное локально время. При значительном отклонении локальных часов, https-запросы могут не работать. Рекомендуем использовать синхронизацию времени по NTP-серверу.