S makronaredbama možete poslati podatke na HTTPs poslužitelj kada god je to potrebno. Imate kontrolu nad podacima koji se šalju i kako je organiziran, čineći ga jednostavnim za prilagodbu podataka za korištenje s postojećim uslugama.

Sigurnosne mjere:

  • Značajka HTTPs klijentskog zahtjeva onemogućena je prema zadanim postavkama. Administrator sustava mora izričito omogućiti značajku postavljanjem značajke httpclient > na ( xconfiguration httpclient način rada: 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 odrediti popis HTTPs poslužitelja kojima je uređaj dopušten za slanje podataka. (Pogledajte xcommand HttpClient Omogući hostname naredbe.)

  • Broj istodobnih HTTPs zahtjeva je ograničen.

Konfiguracije iz ovog članka su dostupne i s web sučelja uređaja i na API. Naredbe su dostupne kroz API. Pročitajte članak Napredne postavke da biste saznali 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 (domaćini):

  • xcommand httpclient omogući hostname dodaj izraz: < pravilan izraz koji odgovara nazivu glavnog računala ili IP adresi HTTPs poslužitelja >

  • xCommand HttpClient Omogući hostname jasno

  • xCommand HttpClient dopusti hostname popis

  • xCommand HttpClient Omogući hostname Ukloni ID: < ID unosa na popisu >

Ako popis sadrži stavke poslužitelja, možete poslati samo HTTPs zahtjeve tim poslužiteljima. Međutim, ako je popis prazan, možete slati zahtjeve na bilo koji HTTPs poslužitelj.

Ček na popis dopuštenih poslužitelja obavlja se i prilikom korištenja nesigurnih (HTTP) i sigurnog (HTTPS) prijenosa podataka.

HTTPS bez provjere valjanosti certifikata

Kada šaljete zahtjeve putem HTTPS-a, uređaj će prema zadanim postavkama provjeravati certifikat o HTTPS poslužitelju. Ako nije utvrđeno da je certifikat HTTPS poslužitelja valjan, dobivate 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 uključeno ( Xconfiguration httpclient allowinsecurehttps: on ). To omogućuje korištenje HTTPS bez valjanosti certifikata poslužitelja.

Slanje HTTPs zahtjeva

Nakon što je omogućena značajka HTTPs klijenta, možete koristiti sljedeće naredbe za slanje zahtjeva na HTTPs poslužitelj. < Metodije > je bilo pošta , baciti , krpa , dobiti , ili izbrisati.

  • xCommand HttpClient < metoda > [AllowInsecureHTTPS: < TRUE/FALSE >] [header: < zaglavlje teksta >] [ResponseSizeLimit: < Maksimalna veličina odaziva >] [Rezultbody: < none/PlainText/base64 >] [timeout: < vremensko razdoblje >] URL: < URL za slanje zahtjeva >

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

Parametar allowinsecurehttps ima efekt samo ako je administrator sustava dozvolio korištenje HTTPS-a bez provjere valjanosti certifikata poslužitelja. Ako je tako, možete poslati podatke na poslužitelj bez valjanosti potvrde poslužitelja ako je parametar postavljen na True. Ako izostavite parametar ili ga postavite na False , podaci se neće poslati ako provjera valjanosti certifikata ne uspije.

Parametar resposensizelimit je maksimalna veličina nosivosti (bajtova) koje uređaj prihvaća kao odgovor s poslužitelja. Ako je teret odaziva veći od ove maksimalne veličine, naredba će vratiti pogrešku statusa. Poruka o pogrešci kaže da je premašena Maksimalna veličina datoteke. Međutim, to nema učinka na strani poslužitelja; poslužitelj je primio i obrađen zahtjev ispravno.

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

  • None : ne uključujete tijelo http odgovora u naredbenom rezultatu.

  • Base64 : u rezultatu se Kodiraj tijelo prije toga, uključujući i to.

  • Obični tekst : uključite tijelo u rezultat kao običan tekst. Ako odgovor sadrži slova koja nisu ispisiva, naredba vraća pogrešku statusa s porukom u kojoj piše da je došlo do podataka koji nisu ispisivi.

Koristite parametar timeout za postavljanje vremenskog razdoblja (sekundama). Ako zahtjev nije dovršen tijekom tog razdoblja, API vraća pogrešku.

Unesite nosivost (podaci) neposredno nakon što ste izdali naredbu. Sve što unesete, uključujući i pauze za linije, dio je tereta. Kada završite, završite s prijelom linije ("\n") i zasebnom linijom koja sadrži samo period nakon kojeg slijedi prijelom linije (".\n"). Zatim naredba je izvršiti, i podaci je rečenica to poslužitelj.

Primjeri

Tijelo poruke je JSON u oba ovih primjera. To bi mogao biti bilo koji format, ovisno o očekivanom formatu usluge koja prima poruke.

Primjer 1: ot kontrola uređaja pomoću HTTP post

Ovdje je funkcija makronaredbi koja uključuje svjetlo koje je spojeno na Philips Hue most:

 funkcija hue_command (podaci) {var URL = ' http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state '; var zaglavlja = ' Content-Type: Application/JSON '; var Command = ' {"on": True} '; xapi. Command (' HttpClient put ', {' URL ': URL, ' header ': zaglavlja}, Command);} 

Možete učiniti isto u naredbeni redak pomoću API:

 xcommand HttpClient stavi zaglavlje: "Content-Type: Application/JSON" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"na": TRUE). 

Primjer 2: Knjiženje podataka u alat za praćenje pomoću HTTP posta

 xcommand HttpClient zaglavlje posta: "Content-Type: Application/JSON" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"poruka": "Korisnik izvijestio problem s ovim sustavom", "systemName": "BoardRoom 4th Floor", "softwareVersion": "ce 9.6.0", "softver softver": "2018-12-13", "Videomonitori": "dual"}. 

Daljnje informacije

Dodatne informacije o korištenju HTTP zahtjeva za klijenticom potražite u vodiču za prilagodbu. Izaberite najnoviju inačicu.

Cisco Support (TAC) ne podržava ispravljanje pogrešaka u kodu trećih strana, uključujući makronaredbe. Molimo provjerite https://roomos.cisco.com Ako vam je potrebna pomoć s makronaredbama i šifrom trećih strana.