Pomoću makronaredbi možete slati podatke na HTTPs poslužitelj kad god je to potrebno. Imate kontrolu nad time koji se podaci šalju i kako su organizirani, što olakšava prilagodbu podataka za upotrebu s postojećim uslugama.

Sigurnosne mjere:

  • Značajka zahtjeva klijenta HTTPs prema zadanim je postavkama onemogućena. Administrator sustava mora izričito omogućiti značajku postavljanjem načina rada HttpClient > Mode na On ( xConfiguration HttpClient Mode: Uključeno ).

  • Administrator sustava može spriječiti korištenje HTTP-a postavljanjem HttpClient > AllowHTTP na False ( xConfiguration HttpClient AllowHTTP: False ).

  • Administrator sustava može navesti popis HTTP poslužitelja kojima uređaj smije slati podatke. (Pogledajte xCommand HttpClient naredbe za dopuštenje naziva glavnog računala.)

  • Broj istodobnih zahtjeva za HTTP-ovima je ograničen.

Konfiguracije navedene u ovom članku dostupne su i na web-sučelju uređaja i u API. Naredbe su dostupne putem API. Pročitajte članak Dodatne postavke za informacije o tome kako pristupiti web-sučelju i koristiti API.

Popis dopuštenih HTTPs poslužitelja

Administrator sustava može koristiti ove naredbe za postavljanje i održavanje popisa do deset dopuštenih HTTPs poslužitelja (hostova):

  • xCommand HttpClient Dopusti naziv glavnog računala Dodaj izraz: <Uobičajeni izraz koji odgovara nazivu glavnog računala ili IP adresi HTTPs poslužitelja>

  • xCommand HttpClient dopusti brisanje naziva glavnog računala

  • xCommand HttpClient dopusti popis naziva glavnog računala

  • xCommand HttpClient Dopusti naziv glavnog računala Ukloni ID: <id unosa na popisu>

Ako popis sadrži unose poslužitelja, HTTP-ove zahtjeve možete slati samo tim poslužiteljima. Međutim, ako je popis prazan, zahtjeve možete poslati bilo kojem HTTPs poslužitelju.

Provjera popisa dopuštenih poslužitelja provodi se i pri korištenju nesigurnog (HTTP) i sigurnog (HTTPS) prijenosa podataka.

HTTPS bez provjere valjanosti certifikata

Prilikom slanja zahtjeva putem HTTPS-a, uređaj prema zadanim postavkama provjerava certifikat HTTPS poslužitelja. Ako se ne utvrdi da je certifikat HTTPS poslužitelja valjan, dobit ćete poruku o pogrešci. Uređaj ne šalje nikakve podatke na taj poslužitelj.

Preporučujemo korištenje HTTPS-a s provjerom valjanosti certifikata. Ako provjera valjanosti certifikata nije moguća, administrator sustava može postaviti HttpClient > AllowInsecureHTTPS na On ( xConfiguration HttpClient AllowInsecureHTTPS: Uključeno ). To omogućuje korištenje HTTPS-a bez provjere valjanosti certifikata poslužitelja.

Slanje zahtjeva za HTTP-ove

Kada omogućite značajku zahtjeva klijenta HTTPs, možete koristiti sljedeće naredbe za slanje zahtjeva HTTPs poslužitelju. <metoda> je ili Proknjiži,Put , Zakrpa , Dohvati ili Izbriši.

  • xCommand HttpClient <Method> [AllowInsecureHTTPS: <True/False>] [Zaglavlje: <Tekst zaglavlja>] [ResponseSizeLimit: <Maksimalna veličina odgovora>] [ResultBody: <Ništa/PlainText/Base64>] [Prekoračenje vremena: <Prekoračenje vremena>] Url: <URL na koji se zahtjev može poslati>

Dodavanje polja zaglavlja nije obavezno i možete dodati do 20 polja.

Parametar AllowInsecureHTTPS ima učinak samo ako je administrator sustava dopustio korištenje HTTPS-a bez provjere valjanosti certifikata poslužitelja. Ako je tako, možete poslati podatke na poslužitelj bez provjere valjanosti certifikata poslužitelja ako je parametar postavljen na True . Ako izostavite parametar ili ga postavite na False , podaci se ne šalju ako provjera valjanosti certifikata ne uspije.

Parametar ResposenSizeLimit maksimalna je veličina korisnog tereta (bajtova) koju uređaj prihvaća kao odgovor poslužitelja. Ako je korisni teret odaziva veći od ove maksimalne veličine, naredba vraća pogrešku statusa. Poruka o pogrešci kaže da je premašena maksimalna veličina datoteke. Međutim, to nema utjecaja na stranu poslužitelja; Poslužitelj je ispravno primio i obradio zahtjev.

Pomoću parametra ResultBody odlučite kako oblikovati tijelo HTTP odgovora poslužitelja u rezultatu naredbe. Imate tri mogućnosti:

  • Nema: nemojte uključiti tijelo HTTP odgovora u rezultat naredbe.

  • Base64 : Base64 kodira tijelo prije nego što ga uključi u rezultat.

  • PlainText : Uključite tijelo u rezultat kao običan tekst. Ako odgovor sadrži slova koja se ne mogu ispisati, naredba vraća pogrešku statusa s porukom da su pronađeni podaci koji se ne mogu ispisati.

Pomoću parametra Vremensko ograničenje postavite vremensko ograničenje (sekunde). Ako zahtjev nije dovršen tijekom tog razdoblja, API vraća pogrešku.

Unesite korisni teret (podatke) odmah nakon što izdate naredbu. Sve što unesete, uključujući prijelome redaka, dio je korisnog tereta. Kada završite, završite s prijelomom retka ("\n") i zasebnim retkom koji sadrži samo razdoblje nakon kojeg slijedi prijelom retka (".\n"). Sada se naredba izvršava, a podaci se šalju poslužitelju.

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

Evo makro funkcije koja uključuje svjetlo koje je povezano s mostom Philips Hue:

 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 naredba = '{"uključeno":true}'; xapi.command('HttpClient Put', { 'Url': URL, 'Zaglavlje': zaglavlja }, naredba); } 

Isto možete učiniti u naredbenom retku pomoću API:

 xcommand HttpClient Put Header: "Content-Type: application/json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"uključeno":true} . 

Primjer 2: Objavljivanje podataka u alat za praćenje pomoću HTTP Posta

 xcommand Zaglavlje objave httpklijenta: "Vrsta sadržaja: aplikacija/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Poruka":"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 detalja o korištenju zahtjeva HTTP klijenta potražite u vodiču za prilagodbu. 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 ako vam je potrebna pomoć s makronaredbama i kodom treće strane.