Z makri lahko podatke pošljete na strežnik HTTP (S), kadar koli potrebujete. Imate nadzor nad tem, kateri podatki se pošiljajo in kako so organizirani, kar olajša prilagoditev podatkov za uporabo z obstoječimi storitvami.
Varnostni ukrepi:
-
Funkcija zahteve odjemalca HTTP (S) je privzeto onemogočena. Sistemski skrbnik mora izrecno omogočiti funkcijo tako, da nastavite de na Vklopljeno (
XConfiguration HttpClient Mode:Vklopljeno). -
Sistemski skrbnik lahko prepreči uporabo HTTP tako, da nastavite Htt : False).
-
Skrbnik sistema lahko določi seznam strežnikov HTTP (S), na katere lahko naprava pošilja podatke. (Glejte ukaze
XCommand HttpClient Dovoli ime gostitelja.) -
Število sočasnih zahtev HTTP (S) je omejeno.
Konfiguracije iz tega člena so na voljo tako iz spletnega vmesnika naprave kot v API-ju. Ukazi so na voljo prek API-ja. Preberite članek Napredne nastavitve za informacije o tem, kako dostopati do spletnega vmesnika in uporabljati API-ja.
Seznam dovoljenih strežnikov HTTP (S)
Skrbnik sistema lahko s temi ukazi nastavi in vzdržuje seznam do desetih dovoljenih strežnikov HTTP (S) (gostiteljev):
-
XCommand HttpClient Dovoli ime gostitelja Dodaj izraz:<Regular expression that matches the host name or IP address of the HTTP (S) server> -
XCommand HttpClient Dovoli ime gostitelja Počisti -
XCommand HttpClient Dovoli seznam imen gostitelja -
XCommand HttpClient Dovoli ime gostitelja Odstrani ID:<id of an entry in the list>
Če seznam vsebuje vnose v strežniku, lahko te strežnike pošiljate samo zahteve HTTP (S). Če pa je seznam prazen, lahko pošljete zahteve na kateri koli strežnik HTTP (S).
Preverjanje seznama dovoljenih strežnikov se izvaja tako pri uporabi negotovega (HTTP) kot varnega (HTTPS) prenosa podatkov.
HTTPS brez potrditve potrdil
Pri pošiljanju zahtev prek HTTPS naprava privzeto preveri potrdilo strežnika HTTPS. Če potrdilo strežnika HTTPS ni veljavno, se prikaže sporočilo o napaki. Naprava ne pošilja nobenih podatkov na ta strežnik.
Priporočamo uporabo HTTPS s preverjanjem potrdil. Če preverjanje potrdil ni mogoče, lahko skrbnik sistema nastavi
Vklopljeno).
To omogoča uporabo HTTPS brez potrditve potrdila strežnika.
Pošiljanje zahtev HTTP (S)
Ko je funkcija zahteve odjemalca HTTP (S) omogočena, lahko uporabite naslednje ukaze za pošiljanje zahtev strežniku HTTP (S).
<method>je bodisi
Objavi
,
Postavi
,
Pop
ravi
,
Pridobi ali
Izbriši
.
-
XCommand HttpClient [AllowInsecureHttps:] [Glava:] [ResponseSizeLimit:] [ResultBody:] [Timeout:] Url:<Method><True/False> <Header text><Maximum response size><None/PlainText/Base64> <Timeout period><URL to send the request to>
Dodajanje polj glave ni obvezno in dodate lahko do 20 polj.
Paramet
er AllowInsecureHTTPS ima učinek le, če je skrbnik sistema dovolil uporabo HTTPS, ne da bi potrdil potrdilo strežnika. Če je odgovor pritrdilen, lahko podatke pošljete strežniku brez potrditve potrdila strežnika, če je parameter nastavljen na
True
. Če parameter izpustite ali ga nastavite na Napačno, se
podatki ne pošljejo
, če potrditev potrdila ne uspe.
Parameter
RespoSensizeLimit je največja velikost uporabne obremenitve (bajtov), ki jo naprava sprejme kot odziv strežnika. Če je nosilnost odziva večja od te največje velikosti, ukaz vrne napako stanja. Sporočilo o napaki pravi, da je največja velikost datoteke presežena. Vendar to nima vpliva na stran strežnika; strežnik je zahtevo prejel in obdelal pravilno.
S
parametrom
ResultBody se odločite, kako oblikovati telo odziva HTTP s strežnika v rezultatu ukaza. Imate tri možnosti:
-
Brez: V rezultat ukaza ne vključite telesa odziva HTTP. -
Base64: Base64 kodira telo, preden ga vključi v rezultat. -
PlainText: Vključite telo v rezultat kot navadno besedilo. Če odgovor vsebuje črke, ki jih ni mogoče natisniti, ukaz vrne napako stanja s sporočilom, da so naleteli na podatke, ki jih ni mogoče natisniti.
S
parametrom
Timeout nastavite časovno obdobje (sekunde). Če zahteva v tem obdobju ni izpolnjena, API vrne napako.
Vnesite koristni tovor (podatke) takoj po izdaji ukaza. Vse, kar vnesete, vključno s prekinitvami vrstic, je del koristnega obremenitve. Ko končate, končajte s prelomom vrstice (»\n«) in ločeno vrstico, ki vsebuje le obdobje, ki ji sledi prelom vrstice («. \ n«). Zdaj se ukaz izvede in podatki se pošljejo strežniku.
Primeri
Telo sporočila je v obeh primerih JSON. Lahko je poljubna oblika, odvisno od pričakovane oblike storitve, ki sprejema sporočila.
Primer 1: Nadzor naprav IoT z uporabo HTTP Post
Tu je makro funkcija, ki prižge luč, ki je povezana z mostikom Philips Hue:
function 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); }
Enako lahko storite v ukazni vrstici z uporabo API-ja:
xcommand HttpClient Put Header: "Content-Type: application/json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} .
Primer 2: Objavljanje podatkov v orodje za spremljanje s pomočjo HTTP Post
xcommand HttpClient Post Header: "Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"A user reported an issue with this system","systemName":"BoardRoom 4th floor","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"} .
Dodatne informacije
Več podrobnosti o uporabi zahtev odjemalcev HTTP najdete v priročniku za prilagajanje . Izberite najnovejšo različico.
Ciscova podpora (TAC) ne podpira odpravljanja napak kode tretjih oseb, vključno z makri. Prosimo, preverite https://roomos.cisco.com, če potrebujete pomoč z makri in kodo tretjih oseb.