Pomocou makier môžete odosielať údaje na server HTTP(S) kedykoľvek to potrebujete. Máte kontrolu nad tým, aké údaje sa odosielajú a ako sú usporiadané, čo uľahčuje prispôsobenie údajov na použitie s existujúcimi službami.

Bezpečnostné opatrenia:

  • Funkcia požiadavky klienta HTTP(S) je predvolene vypnutá. Správca systému musí túto funkciu explicitne povoliť nastavením HttpClient > Režim na Zapnuté ( xConfiguration HttpClient Mode: Dňa ).

  • Správca systému môže zabrániť používaniu HTTP nastavením HttpClient > AllowHTTP na False ( xConfiguration HttpClient AllowHTTP: Nepravda ).

  • Správca systému môže zadať zoznam serverov HTTP(S), na ktoré môže zariadenie odosielať údaje. (Pozrite si príkazy xCommand HttpClient Allow Hostname .)

  • Počet súbežných HTTP(S) požiadaviek je obmedzený.

Konfigurácie uvedené v tomto článku sú dostupné z webového rozhrania zariadenia aj z API. Príkazy sú dostupné cez API. Informácie o tom, ako získať prístup k webovému rozhraniu a používať rozhranie API, nájdete v článku o rozšírených nastaveniach .

Zoznam povolených serverov HTTP(S).

Správca systému môže použiť tieto príkazy na nastavenie a udržiavanie zoznamu až desiatich povolených HTTP(S) serverov (hostiteľov):

  • xCommand HttpClient Povoliť názov hostiteľa Pridať výraz:

  • xCommand HttpClient Povoliť názov hostiteľa vymazať

  • xCommand HttpClient Zoznam povolených názvov hostiteľov

  • xCommand HttpClient Allow Hostname Remove Id:

Ak zoznam obsahuje položky serverov, môžete na tieto servery posielať iba požiadavky HTTP(S). Ak je však zoznam prázdny, môžete odoslať požiadavky na ľubovoľný server HTTP(S).

Kontrola oproti zoznamu povolených serverov sa vykonáva pri nezabezpečenom (HTTP) aj zabezpečenom (HTTPS) prenose dát.

HTTPS bez overenia certifikátu

Pri odosielaní požiadaviek cez HTTPS zariadenie štandardne kontroluje certifikát HTTPS servera. Ak sa nezistí, že certifikát servera HTTPS je platný, zobrazí sa chybové hlásenie. Zariadenie na tento server neposiela žiadne údaje.

Odporúčame používať HTTPS s overením certifikátu. Ak overenie certifikátu nie je možné, správca systému môže nastaviť možnosť HttpClient > AllowInsecureHTTPS na Zapnuté ( xConfiguration HttpClient AllowInsecureHTTPS: Dňa ). To umožňuje použitie HTTPS bez overenia certifikátu servera.

Odosielanie požiadaviek HTTP(S).

Po aktivácii funkcie požiadavky klienta HTTP(S) môžete na odosielanie požiadaviek na server HTTP(S) použiť nasledujúce príkazy. je buď Uverejniť , Vložiť , Oplatiť , Získať alebo Odstrániť.

  • xCommand HttpClient [AllowInsecureHTTPS: ] [Header: ] [ResponseSizeLimit: ] [ResultBody: ] [Časový limit: ] Url:

Pridanie polí hlavičky je voliteľné a môžete pridať až 20 polí.

Parameter AllowInsecureHTTPS má účinok iba vtedy, ak správca systému povolil používanie protokolu HTTPS bez overenia certifikátu servera. Ak áno, môžete odoslať údaje na server bez overenia certifikátu servera, ak je parameter nastavený na hodnotu True. Ak parameter vynecháte alebo ho nastavíte na hodnotu False, údaje sa v prípade zlyhania overenia certifikátu neodošlú.

Parameter ResposenSizeLimit predstavuje maximálnu veľkosť užitočného zaťaženia (bajty), ktorú zariadenie akceptuje ako odpoveď zo servera. Ak je užitočné zaťaženie odpovede väčšie ako táto maximálna veľkosť, príkaz vráti stavovú chybu. Chybové hlásenie hovorí, že je prekročená maximálna veľkosť súboru. Na strane servera to však nemá žiadny vplyv; server správne prijal a spracoval požiadavku.

Pomocou parametra ResultBody sa rozhodnite, ako naformátovať telo odpovede HTTP zo servera vo výsledku príkazu. Máte tri možnosti:

  • Žiadne : Do výsledku príkazu nezahŕňajte telo odpovede HTTP.

  • Base64 : Base64 kóduje telo pred jeho zahrnutím do výsledku.

  • Čistý text : Zahrňte telo do výsledku ako obyčajný text. Ak odpoveď obsahuje netlačiteľné písmená, príkaz vráti stavovú chybu so správou, že boli nájdené netlačiteľné údaje.

Pomocou parametra Časový limit nastavte časový limit (v sekundách). Ak sa požiadavka počas tohto obdobia nedokončí, API vráti chybu.

Hneď po zadaní príkazu zadajte užitočné zaťaženie (údaje). Čokoľvek, čo zadáte, vrátane zalomení riadkov, je súčasťou užitočného zaťaženia. Po dokončení dokončite zalomením riadku („\n“) a samostatným riadkom obsahujúcim iba bodku, po ktorej bude nasledovať zalomenie riadku („\n“). Teraz sa príkaz vykoná a údaje sa odošlú na server.

Príklady

Telo správy je v oboch týchto príkladoch JSON. Môže to byť akýkoľvek formát v závislosti od očakávaného formátu služby, ktorá prijíma správy.

Príklad 1: Ovládanie zariadení IoT pomocou HTTP Post

Tu je makro funkcia, ktorá zapne svetlo, ktoré je pripojené k Philips Hue Bridge:

 funkcia hue_command(údaje) { var url = 'http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state'; var headers = 'Typ obsahu: application/json'; var command = '{"on":true}'; xapi.command('HttpClient Put', { 'URL': url, 'Hlavička': hlavičky }, príkaz); } 

To isté môžete urobiť na príkazovom riadku pomocou rozhrania API:

 xcommand HttpClient Put Header: "Content-Type: application/json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} . 

Príklad 2: Odosielanie údajov do monitorovacieho nástroja pomocou HTTP Post

 xcommand Hlavička príspevku HttpClient: "Typ obsahu: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"Používateľ nahlásil problém s týmto systémom","systemName":"BoardRoom 4th floor","softwareVersion":"ce9.6.0","softwareReleaseDate ":"2018-12-13","videoMonitors":"Dva"} . 

Ďalšie informácie

Ďalšie podrobnosti o tom, ako používať požiadavky klienta HTTP, nájdete v sprievodcovi prispôsobením. Vyberte najnovšiu verziu.

Podpora Cisco (TAC) nepodporuje ladenie kódu tretích strán vrátane makier. Ak potrebujete pomoc s makrami a kódom tretej strany, začiarknite políčko https://roomos.cisco.com .