Pomoću makroa možete da šaljete podatke HTTPs serveru kad god je to potrebno. Imate kontrolu nad tim koji podaci se šalju i kako su organizovani, što olakšava prilagođavanje podataka za korišćenje sa postojećim uslugama.

Mere bezbednosti:

  • Funkcija zahteva HTTPs klijenta je podrazumevano onemogućena. Administrator sistema mora izričito da omogući funkciju postavljanjem httpClient > Moda na on ( xConfiguration HttpClient Mode: On ).

  • Administrator sistema može da spreči upotrebu HTTP-a postavljanjem httpClient > AllowHTTP na False ( xConfiguration HttpClient AllowHTTP: False ).

  • Administrator sistema može da navede listu HTTPs servera kojima je uređaju dozvoljeno da šalje podatke. (Pogledajte komande xCommand HttpClient Allow Hostname .)

  • Broj uporednih HTTP zahteva je ograničen.

Konfiguracije koje se upućuju na ovaj članak dostupne su i sa Veb interfejsa uređaja i u okviru programa API. Komande su dostupne putem greške API. Pročitajte članak Više opcija za postavke da biste dobili informacije o tome kako da pristupite Veb interfejsu i koristite grešku API.

Lista dozvoljenih HTTPs servera

Administrator sistema može da koristi ove komande za podešavanje i održavanje liste do deset dozvoljenih HTTPs servera (domaćina):

  • xCommand HttpClient Allow Hostname Add Expression: <Regularni izraz koji odgovara imenu domaćina ili IP adresi HTTPs servera>

  • xCommand HttpClient Dozvoli brisanje imena domaćina

  • xCommand HttpClient Allow Hostname List

  • xCommand HttpClient Allow Hostname Remove Id: <id stavke na listi>

Ako lista sadrži stavke servera, tim serverima možete poslati samo HTTPS zahteve. Međutim, ako je lista prazna, možete da pošaljete zahteve bilo kom HTTPs serveru.

Provera u odnosu na listu dozvoljenih servera vrši se i kada se koristi nesiguran (HTTP) i bezbedan (HTTPS) prenos podataka.

HTTPS bez provere valjanosti certifikata

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 certifikata nije moguća, administrator sistema može da podesi HttpClient > AllowInsecureHTTPS na On ( xConfiguration HttpClient AllowInsecureHTTPS: On ). Ovo omogućava korišćenje HTTPS-a bez provere valjanosti certifikata servera.

Slanje HTTPs zahteva

Kada se omogući funkcija zahteva HTTPs klijenta, možete da koristite sledeće komande za slanje zahteva HTTPs serveru. <method> je "Objavi", "Stavi ", "Zakrpi ", " Nabavi " ili "Izbriši " .

  • xCommand HttpClient <Method> [AllowInsecureHTTPS: <True/False>] [Header: <Header text>] [ResponseSizeLimit: < Veličina odgovora namaksimum>] [ResultBody: <None/PlainText/Base64>] [Timeout: <Timeout period>] Url: <URL da pošaljete zahtev>

Dodavanje polja zaglavlja je opcionalno i možete dodati do 20 polja.

Parametar AllowInsecureHTTPS ima efekta samo ako je administrator sistema dozvolio korišćenje HTTPS-a bez provere valjanosti certifikata servera. Ako je tako, možete da pošaljete podatke serveru bez provere valjanosti certifikata servera ako je parametar postavljen na vrednost True . Ako izostavite parametar ili ga postavite na vrednost "Netačno ", podaci se ne šalju ako provera valjanosti certifikata ne uspe.

Parametar ResposenSizeLimit je maksimalna veličina opterećenja (bajtova) koju uređaj prihvata kao odgovor 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.

Koristite parametar ResultBody da biste odlučili kako da oblikujete telo HTTP odgovora sa servera u komandnom rezultatu. Imate tri opcije:

  • Nijedan : Nemojte uključivati telo HTTP odgovora u komandni rezultat.

  • Baza64 : Baza64 kodira telo pre nego što ga ukljuci u rezultat.

  • Čisti tekst : Uključite telo u rezultat kao čisti 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.

Koristite parametar vremenskog perioda da biste podesili vremenski period (sekunde). Ako zahtev nije dovršen u ovom periodu, funkcija API daje grešku.

Unesite tovar (podatke) neposredno 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:

 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 to možete da uradite i na komandnoj liniji koristeći grešku API:

 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 alatki za nadgledanje pomoću HTTP objave

 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 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 https://roomos.cisco.com li vam je potrebna pomoć oko makroa i šifre nezavisnih proizvođača.