Добрый день!
Возможно ли на уровне скриптов формировать GET/PUT http запросы?
Вариант с RunApplication не очень элегантный...
спасибо.
Отвечу пока сам себе - на каком решении на данный момент остановился и оно в принципе меня устраивает.
Суть вот в чем - наверняка многие знают про такую штуку как Blynk. Так вот - есть свой сервер Blynk и нужно было передавать значения переменных Simple Scada в проект Blynk'a.
Благо у последнего есть свой HTTP RESTful API. Присвоение и чтение переменных проекта Blynk осуществляется при помощи GET/POST запросов.
В итоге создал в проекте Simple Scada скрипт на изменение переменных, который отправляет значения этих переменных на сервер Blynk при помощи CURL.
Естественно чтобы запустить CURL - воспользовался методом RunApplication, но в моменты запуска (а переменные изменяются часто) появление черных (консольных) виндовых окошек, которые с завидной регулярностью появляются и пропадают - интерфейсно это ну просто НИКАК!!!
В итоге запускаю CURL, но при помощи VBS скрипта (передав в него в качестве параметров значения переменных Simple Scada) - в примере ниже - для двух таких переменных:
RunApplication(SS_SERVER_NAME, 'c:\curl\curl.vbs', FloatToStr(t1.Value, 0) + ' ' + FloatToStr(h1.Value, 0));
//-- сам скрипт --//
Set objArgs = WScript.Arguments
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "c:\curl\curl.exe ip-address:port/blynk_token/update/v0?value="+objArgs(0), 0,
falseTRUE
oShell.Run "c:\curl\curl.exe ip-address:port/blynk_token/update/v1?value="+objArgs(1), 0,
falseTRUE
//--добавлено
Set objArgs = Nothing
Set oShell = Nothing
PS. В скрипте изменены параметры shell.run c FALSE на TRUE и добавлено обнуление переменных (как заверяют мануалы - эти переменные и сами должны "убиться" по окончанию выполнения, но раз создал сам то и убей сам), иначе произойдут серьезные утечки в памяти...
Вот таким образом не появляется никаких черных окошек - всё работает в фоне.
Всем спасибо, может у кого нибудь есть и другие варианты решения этой задачи, но я пока остановился на вышеописанном.
Пример наипростейший - осуществляется опрос датчика температуры и влажности воздуха, эти данные попадают в Simple Scada с ArOPC-сервера, и скриптом уходят в мобильное приложение Blynk.