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 HttpClient > Načina rada na Uključeno ( xConfiguration HttpClient način rada: Uključeno ).

  • Administrator sustava može spriječiti upotrebu HTTP-a postavljanjem HttpClient > AllowHTTP 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 HttpClient > AllowInsecureHTTPS na ( 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.