Pomoću makronaredbi možete slati podatke na HTTP (S) server kad god vam zatreba. Imate kontrolu nad podacima koji se šalju i kako se organizuju, što olakšava prilagođavanje podataka za upotrebu sa postojećim uslugama.
Bezbednosne mere:
-
Funkcija zahteva HTTP (S) klijenta podrazumevano je onemogućena. Administrator sistema mora eksplicitno omogućiti funkciju podešavanjem de na Uključeno (
xConfiguration HttpClient Mode:Uključeno). -
Administrator sistema može da spreči upotrebu htTP: Fal se).
-
Administrator sistema može odrediti listu HTTP (S) servera na koje je uređaju dozvoljeno da šalje podatke. (Pogledajte komande
XCommand HttpClient Dozvoli ime hosta.) -
Broj istovremenih HTTP (S) zahteva je ograničen.
Konfiguracije navedene u ovom članku dostupne su i sa veb interfejsa uređaja i u API-ju. Komande su dostupne preko API-ja. Pročitajte članak Napredna podešavanja za informacije o tome kako pristupiti veb interfejsu i koristiti API.
Spisak dozvoljenih HTTP (S) servera
Administrator sistema može da koristi ove komande za podešavanje i održavanje liste do deset dozvoljenih HTTP (S) servera (hostova):
-
KsCommand HttpClient Dozvoli ime hosta Dodaj izraz:<Regular expression that matches the host name or IP address of the HTTP (S) server> -
KsCommand HttpClient Dozvoli Obriši ime hosta -
KSCommand HttpClient Dozvoli listu imena hosta -
KSCommand HttpClient Dozvoli ime hosta Ukloni ID:<id of an entry in the list>
Ako lista sadrži unose servera, možete slati samo HTTP (S) zahteve tim serverima. Međutim, ako je lista prazna, možete slati zahteve na bilo koji HTTP (S) server.
Provera liste dozvoljenih servera vrši se i kada se koristi nesiguran (HTTP) i siguran (HTTPS) prenos podataka.
HTTPS bez validacije sertifikata
Kada šaljete zahteve preko HTTPS-a, uređaj podrazumevano proverava sertifikat HTTPS servera. Ako se utvrdi da sertifikat HTTPS servera nije validan, dobićete poruku o grešci. Uređaj ne šalje nikakve podatke na taj server.
Preporučujemo upotrebu HTTPS-a sa validacijom sertifikata. Ako validacija sertifikata nije moguća, administrator sistema može da podesi On). Ovo omogućava upotrebu HTTPS-a bez validacije sertifikata servera.
Slanje HTTP (S) zahteva
Kada je omogućena funkcija zahteva HTTP (S) klijenta, možete da koristite sledeće komande za slanje zahteva na HTTP (S) server.
<method>je Objav
ljivanje
,
stavljanje
,
zakr
panje
,
dobi janje ili
brisan je
.
-
kCommand HttpClient [AllovInsecureHttps:] [Zaglavlje:] [ResponseSizeLimit:] [ResultBodi:] [Timeout:] Url:<Method><True/False> <Header text><Maximum response size><None/PlainText/Base64> <Timeout period><URL to send the request to>
Dodavanje polja zaglavlja nije obavezno i možete dodati do 20 polja.
Paramet
ar AllovInsecureHTTPS ima efekat samo ako je administrator sistema dozvolio upotrebu HTTPS-a bez validacije sertifikata servera. Ako je tako, možete poslati podatke serveru bez validacije sertifikata servera ako je parametar postavljen na
True
. Ako izostavite parametar ili ga postavite na
Fal se
, podaci se ne šalju ako validacija sertifikata ne uspe.
Parametar
RespoSensizeLim it je maksimalna veličina korisnog tereta (bajtovi) koju uređaj prihvata kao odgovor sa servera. Ako je nosivost odgovora veća od ove maksimalne veličine, naredba vraća grešku statusa. Poruka o grešci kaže da je maksimalna veličina datoteke prekoračena. Međutim, ovo nema efekta na stranu servera; server je pravilno primio i obradio zahtev.
Koristite
parametar
ResultB odi da biste odlučili kako da formatirate telo HTTP odgovora sa servera u rezultatu naredbe. Imate tri opcije:
-
Ništa: Ne uključujte telo HTTP odgovora u rezultat komande. -
Base64: Base64 kodira telo pre nego što ga uključi u rezultat. -
PlainTekt: Uključite telo u rezultat kao običan tekst. Ako odgovor sadrži slova koja se ne mogu štampati, naredba vraća statusnu grešku sa porukom koja kaže da su naišli na podatke koji se ne mogu štampati.
Koristite
parametar
Timeout da biste podesili vremenski period (sekunde). Ako zahtev nije završen tokom ovog perioda, API vraća grešku.
Unesite korisni teret (podatke) odmah nakon što ste izdali komandu. Sve što unesete, uključujući prekide linija, deo je korisnog tereta. Kada završite, završite sa prekidom linije („\ n“) i zasebnom linijom koja sadrži samo period praćen prekidom linije (“. \ n“). Sada se naredba izvršava, a podaci se šalju serveru.
Primeri
Telo poruke je JSON u oba ova primera. To može biti bilo koji format, u zavisnosti od očekivanog formata usluge koja prima poruke.
Primer 1: Kontrola IoT uređaja pomoću HTTP posta
Evo makro funkcije koja uključuje svetlo koje je povezano na Philips Hue Bridge:
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); }
Isto možete uraditi u komandnoj liniji pomoću 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: Objavljivanje podataka u alat za praćenje pomoću HTTP posta
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
Više detalja o tome kako da koristite zahteve HTTP klijenta pronađite u vodiču za prilagođavanje . Izaberite najnoviju verziju.
Cisco podrška (TAC) ne podržava otklanjanje grešaka kod treće strane, uključujući makronaredbe. Molimo proverite https://roomos.cisco.com ako vam je potrebna pomoć sa makroima i kodom treće strane.