Uz makronaredbe, možete slati podatke na HTTP(S) poslužitelj kad god vam zatreba. Imate kontrolu nad tome koji se podaci šalju i kako su organizirani, što olakšava prilagodbu podataka za upotrebu s postojećim uslugama.
Mjere sigurnosti:
-
Značajka zahtjeva HTTP(S) klijenta je onemogućena prema zadanim postavkama. Administrator sustava mora izričito omogućiti značajku postavljanjem
na Uključeno (xConfiguration HttpClient način rada: Uključeno
). -
Administrator sustava može spriječiti upotrebu HTTP-a postavljanjem
na False (xConfiguration HttpClient AllowHTTP: Pogrešno
). -
Administrator sustava može odrediti popis HTTP(S) poslužitelja na koje uređaj smije slati podatke. (Pogledajte naredbe
xCommand HttpClient Allow Hostname
.) -
Broj istovremenih HTTP(S) zahtjeva je ograničen.
Konfiguracije navedene u ovom članku dostupne su i iz web-sučelja uređaja i u API-ju. Naredbe su dostupne putem API-ja. Pročitajte članak Napredne postavke za informacije o pristupu web-sučelju i uporabi API-ja.
Popis dopuštenih HTTP(S) poslužitelja
Administrator sustava može koristiti ove naredbe za postavljanje i održavanje popisa do deset dopuštenih HTTP(S) poslužitelja (hostova):
-
xCommand HttpClient Dopusti naziv glavnog računala dodavanje izraza:
-
xCommand HttpClient Dopusti Brisanje naziva glavnog računala
-
xCommand HttpClient Dopusti popis naziva glavnog računala
-
xCommand HttpClient Dopusti Naziv Glavnog Računala Uklanjanje ID-a:
Ako popis sadrži unose poslužitelja, tim poslužiteljima možete slati samo HTTP(S) zahtjeve. Međutim, ako je popis prazan, možete poslati zahtjeve na bilo koji HTTP(S) poslužitelj.
Provjera u odnosu na popis dopuštenih poslužitelja provodi se i kod korištenja nesigurnog (HTTP) i sigurnog (HTTPS) prijenosa podataka.
HTTPS bez provjere valjanosti certifikata
Prilikom slanja zahtjeva preko HTTPS-a uređaj prema zadanim postavkama provjerava certifikat HTTPS poslužitelja. Ako se utvrdi da potvrda HTTPS poslužitelja nije valjana, dobit ćete poruku o pogrešci. Uređaj ne šalje nikakve podatke na taj poslužitelj.
Preporučujemo korištenje HTTPS-a s potvrdom valjanosti certifikata. Ako provjera valjanosti certifikata nije moguća, administrator sustava može postaviti xConfiguration HttpClient AllowInsecureHTTPS: Uključeno
). To omogućuje korištenje HTTPS-a bez potvrde certifikata poslužitelja.
Slanje HTTP(S) zahtjeva
Nakon što omogućite značajku zahtjeva HTTP(S) klijenta, sljedeće naredbe možete upotrijebiti za slanje zahtjeva na HTTP(S) poslužitelj.
je ili Objavi
, Stavi
, Patch
, Preuzmi
ili Izbriši
.
-
xCommand HttpClient [AllowInsecureHTTPS: ] [Zaglavlje: ] [ResponseSizeLimit: ] [ResultBody: ] [Vremensko ograničenje: ] Url:
Dodavanje polja zaglavlja nije obavezno i možete dodati do 20 polja.
Parametar AllowInsecureHTTPS
ima učinak samo ako je administrator sustava dopustio upotrebu HTTPS-a bez provjere valjanosti certifikata poslužitelja. Ako da, podatke možete poslati na poslužitelj bez provjere certifikata poslužitelja ako je parametar postavljen na Istina
. Ako izostavite parametar ili ga postavite na Netočno
, ako provjera valjanosti certifikata ne uspije, podaci se ne šalju.
ResposenSizeLimit
parametar je maksimalna veličina opterećenosti (bajtova) koju uređaj prihvaća kao odgovor s poslužitelja. Ako je korisni teret odgovora veći od ove maksimalne veličine, naredba vraća pogrešku statusa. Poruka o pogrešci kaže da je maksimalna veličina datoteke premašena. Međutim, to ne utječe na stranu poslužitelja; poslužitelj je primio i pravilno obradio zahtjev.
Koristite parametar ResultBody
kako biste odlučili kako formatirati tijelo HTTP odgovora s poslužitelja u rezultatu naredbe. Imate tri mogućnosti:
-
Ništa
: Nemojte uključiti tijelo HTTP odgovora u rezultat naredbe. -
Osnova64
: Base64 šifrira tijelo prije uključivanja u rezultat. -
Obični tekst
: Uključite tijelo u rezultat kao običan tekst. Ako odgovor sadrži slova koja se ne mogu ispisati, naredba vraća statusnu pogrešku s porukom da su naišli na podatke koji se ne mogu ispisati.
Upotrijebite parametar
Istek vremena da biste postavili vremensko razdoblje (sekunde). Ako zahtjev nije dovršen u tom razdoblju, API vraća pogrešku.
Unesite korisni teret (podatke) odmah nakon izdavanja naredbe. Sve što unesete, uključujući i prekid linije, je dio tereta. Kada završite, završite s prekidom linije ("\n") i zasebnom linijom koja sadrži samo razdoblje nakon kojeg slijedi prekid linije (".\n"). Sada se izvršava naredba i podaci se šalju na poslužitelj.
Primjeri
Tijelo poruke je JSON u oba ova primjera. To može biti bilo koji format, ovisno o očekivanom formatu usluge koja prima poruke.
Primjer 1: Kontrola IoT uređaja pomoću HTTP Posta
Ovdje je makro funkcija koja uključuje svjetlo koje je povezano s Philipsovim mostom za nijanse:
funkcija hue_command(podaci) { var url = 'http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state'; var zaglavlja = 'Vrsta sadržaja: aplikacija/json'; var command = '{"on":true}'; xapi.command('HttpClient Put', { 'Url': url, „Zaglavlje”: zaglavlja }, naredba); }
Isto možete učiniti u naredbenom retku 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} .
Primjer 2: Objavljivanje podataka u alat za praćenje pomoću HTTP posta
xcommand HttpClient Post Header: "Content-Type: aplikacija/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"Korisnik je prijavio problem s ovim sustavom","systemName":"BoardRoom 4th floor","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"} .
Dodatne informacije
Više pojedinosti o korištenju zahtjeva HTTP klijenata potražite u Prilagodbenom priručniku. Odaberite najnoviju verziju.
Cisco podrška (TAC) ne podržava ispravljanje pogrešaka koda treće strane, uključujući makronaredbe. Provjerite https://roomos.cisco.com trebate li pomoć s makronaredbama i kodom treće strane.