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

Bezpečnostné opatrenia:

  • Funkcia požiadaviek klienta HTTP je predvolene vypnutá. Správca systému musí túto funkciu explicitne povoliť nastavením položky HttpClient > Mode na hodnotu Zapnuté ( xConfiguration HttpClient Mode: On ).

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

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

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

Konfigurácie uvedené v tomto článku sú k dispozícii z webového rozhrania zariadenia aj v API. Príkazy sú k dispozícii prostredníctvom API. V článku Rozšírené nastavenia nájdete informácie o tom, ako získať prístup k webovému rozhraniu a používať API.

Zoznam povolených serverov HTTP

Správca systému môže pomocou týchto príkazov nastaviť a udržiavať zoznam až desiatich povolených serverov (hostiteľov) protokolu HTTP:

  • xCommand HttpClient Povoliť názov hostiteľa Pridať výraz: <Regulárny výraz, ktorý sa zhoduje s názvom hostiteľa alebo IP adresou servera HTTPs>

  • xCommand HttpClient Povoliť vymazanie názvu hostiteľa

  • xCommand HttpClient Povoliť zoznam názvov hostiteľov

  • xCommand HttpClient Povoliť názov hostiteľa Odstrániť ID: <id položky v zozname>

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

Kontrola voči zoznamu povolených serverov sa vykonáva pri použití nezabezpečeného (HTTP) aj bezpečného (HTTPS) prenosu údajov.

HTTPS bez overenia certifikátom

Pri odosielaní požiadaviek cez protokol HTTPS zariadenie predvolene kontroluje certifikát servera HTTPS. Ak sa zistí, že certifikát servera HTTPS nie je platný, zobrazí sa chybové hlásenie. Zariadenie na tento server neodosiela žiadne údaje.

S overením certifikátu odporúčame používať protokol HTTPS. Ak overenie certifikátu nie je možné, správca systému môže nastaviť položku HttpClient > AllowInsecureHTTPS na hodnotu Zapnuté ( xConfiguration HttpClient AllowInsecureHTTPS: On ). To umožňuje použitie protokolu HTTPS bez overenia certifikátu servera.

Odosielanie žiadostí HTTP

Po zapnutí funkcie požiadaviek klienta HTTPs môžete na odosielanie požiadaviek na server HTTPs používať nasledujúce príkazy. <metóda> je buď Post , Put , Patch , Get alebo Delete .

  • xCommand HttpClient <Method> [AllowInsecureHTTPS: <True/False>] [Hlavička: <Text hlavičky>] [AnswerSizeLimit: <Maximálna veľkosť odpovede>] [ResultBody: <Žiadne/PlainText/Base64>] [Časový limit: <Časový limit>] Adresa URL: <URL, na ktorú sa má odoslať požiadavka>

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

Parameter AllowInsecureHTTPS má účinok iba v prípade, že správca systému povolil používanie protokolu HTTPS bez overenia certifikátu servera. Ak áno, môžete odosielať ú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 neodošlú, ak overenie certifikátu zlyhá.

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

Pomocou parametra ResultBody sa rozhodnite, ako formá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 predtým, ako ho zahrnie do výsledku.

  • Obyčajný text : Zahrňte telo do výsledku ako obyčajný text. Ak odpoveď obsahuje nevytlačiteľné písmená, príkaz vráti chybu stavu so správou, že sa vyskytli nevytlačiteľné údaje.

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

Objem dát (údaje) zadajte hneď po vydaní príkazu. Všetko, čo zadáte, vrátane zlomov riadkov, je súčasťou objemu dát. Po dokončení ukončite zlom riadka ("\n") a samostatným riadkom obsahujúcim bodku, za ktorou nasleduje zlom riadka (".\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ť ľubovoľný 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 príspevku HTTP

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

 funkcia hue_command(data) { var url = 'http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state'; var headers = 'Content-Type: application/json'; var command = '{"on":true}'; xapi.command('HttpClient Put', { 'Url': url, 'Header': headers }, command); } 

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

 xcommand httpClient vložiť hlavičku: "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 HttpClient Post Header: "Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Správa":"Používateľ nahlásil problém s týmto systémom","systemName":"BoardRoom 4th floor","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"} . 

Ďalšie informácie

Ďalšie podrobnosti o používaní požiadaviek klienta HTTP nájdete v príručke prispôsobenia. Vyberte najnovšiu verziu.

Podpora spoločnosti Cisco (TAC) nepodporuje ladenie kódu tretej strany vrátane makier. Ak potrebujete pomoc s makrami a kódom tretej strany, skontrolujte https://roomos.cisco.com .