Pomoću makroa možete da šaljete podatke HTTP(S) serveru kad god je to potrebno. Imate kontrolu nad tome koji podaci se šalju i na koji način su organizovani, što olakšava prilagođavanje podataka za korišćenje sa postojećim uslugama.
Mere bezbednosti:
-
Funkcija zahteva HTTP-a za klijente je podrazumevano onemogućena. Administrator sistema mora izričito da omogući funkciju tako što će postaviti
na On (xConfiguration HttpClient režim: Године
). -
Administrator sistema može da spreči upotrebu HTTP-a tako što će postaviti
na False (xConfiguration HttpClient AllowHTTP: Pogrešno
). -
Administrator sistema može da navede listu http(S) servera na koje je uređaju dozvoljeno da šalje podatke. (Pogledajte
xCommand HttpClient komande za dozvoljavanje imena
hosta.) -
Broj uporednih HTTP(S) zahteva je ograničen.
Konfiguracije navedene u ovom članku dostupne su i iz veb-interfejsa uređaja i u API-ju. Komande su dostupne preko API-ja. Pročitajte članak Više opcija za postavke da biste dobili informacije o tome kako da pristupite Veb interfejsu i koristite API.
Lista dozvoljenih HTTP servera
Administrator sistema može da koristi ove komande za podešavanje i održavanje liste do deset dozvoljenih HTTP(S) servera (domaćina):
-
xCommand HttpClient Allow Hostname Add Expression:
-
xCommand HttpClient omogućava brisanje imena hosta
-
xCommand HttpClient lista dozvoljenih imena hosta
-
xCommand HttpClient Omogućava Uklanjanje ID-a hosta:
Ako lista sadrži stavke servera, možete da pošaljete samo HTTP(S) zahteve tim serverima. Međutim, ako je lista prazna, možete da pošaljete zahteve na bilo koji HTTP(S) server.
Provera u odnosu na listu dozvoljenih servera vrši se i kada se koristi nesiguran (HTTP) i bezbedan (HTTPS) prenos podataka.
HTTPS bez potvrđivanja sertifikata
Prilikom slanja zahteva preko HTTPS-a, uređaj podrazumevano proverava certifikat HTTPS servera. Ako nije utvrđeno da je certifikat HTTPS servera važeći, dobijate poruku o grešci. Uređaj ne šalje nikakve podatke tom serveru.
Preporučujemo da koristite HTTPS sa proverom valjanosti certifikata. Ako provera valjanosti sertifikata nije moguća, administrator sistema može da podesi xConfiguration HttpClient AllowInsecureHTTPS: Године
). Ovo omogućava korišćenje HTTPS-a bez provere valjanosti certifikata servera.
Slanje HTTP(S) zahteva
Kada se omogući funkcija HTTP(S) zahteva za klijente, možete da koristite sledeće komande za slanje zahteva HTTP(S) serveru.
ili je последња
, Пуњење
, Zakrpa
, Џети
, ili Izbriši
.
-
xCommand HttpClient [AllowInsecureHTTPS: ] [Header: ] [ResponseSizeLimit: ] [ResultBody: ] [Timeout: ] Url:
Dodavanje polja zaglavlja je opcionalno i možete da dodate do 20 polja.
Parametar AllowInsecureHTTPS
ima efekat samo ako je administrator sistema dozvolio korišćenje HTTPS-a bez potvrđivanja sertifikata servera. U tom slučaju, možete da šaljete podatke serveru bez potvrđivanja sertifikata servera ako je parametar podešen na True
. Ako napustite parametar ili ga podesite na False
, podaci se ne šalju ako potvrda sertifikata ne uspe.
Parametar ResposenSizeLimit
je maksimalna veličina učitavanja (u bajtovima) koju uređaj prihvata kao odgovor sa servera. Ako je tovar odziva veći od ove maksimalne veličine, komanda vraća grešku u statusu. Poruka o grešci kaže da je prekoračjena maksimalna veličina datoteke. Međutim, to nema uticaja na stranu servera; server je primio i ispravno obradio zahtev.
Upotrebite ResultBody
parametar da biste odlučili kako da oblikujete telo HTTP odgovora sa servera u komandnom rezultatu. Imate tri opcije:
-
Ниједна
: Nemojte uključivati telo HTTP odgovora u rezultat komande. -
Baza64
: Baza64 kodira telo pre nego što ga uključite u rezultat. -
ObičanTekst
: Uključite telo u rezultat kao običan tekst. Ako odgovor sadrži slova koja se ne mogu odštampati, komanda vraća grešku u statusu sa porukom u kojoj se navodi da su podaci koji se ne mogu štampati naišli na njih.
Upotrebite parametar
isteka vremena da biste podesili period isteka vremena (sekunde). Ako zahtev nije dovršen tokom ovog perioda, API vraća grešku.
Unesite tovar (podatke) odmah nakon izdavanja komande. Sve što unesete, uključujući i prelome redova, deo je tovara. Kada završite, završite sa prelomom reda ("\n") i zasebnim redom koji sadrži samo tačku praćenu prelomom reda (".\n"). Sada je komanda izvršena i 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
Ovo je makro funkcija koja uključuje svetlo koje je povezano sa Philips Hue mostom:
funkcija hue_command(data) { var url = 'http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state'; zaglavlja var = 'Content-Type: application/json'; var command = '{"on":true}'; xapi.command('HttpClient Put', { 'Url': URL, „Zaglavlje“: zaglavlja }, komanda); }
Isto to možete da uradite i na komandnoj liniji pomoću API-ja:
xcommand HttpClient Postavi Zaglavlje: „Content-Type: application/json” URL: „http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} .
Primer 2: Objavljivanje podataka u alatki za nadgledanje pomoću HTTP objave
xcommand HttpClient Post Zaglavlje: „Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"Korisnik je prijavio problem sa ovim sistemom","systemName":"BoardRoom 4. sprat","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"}.
Dodatne informacije
Više detalja o korišćenju HTTP zahteva klijenata potražite u vodiču za prilagođavanje . Odaberite najnoviju verziju.
Cisco podrška (TAC) ne podržava otklanjanje grešaka u kodu nezavisnih proizvođača, uključujući makroe. Proverite da https://roomos.cisco.com li vam je potrebna pomoć sa makroima i kodom treće strane.