Makrojen avulla voit lähettää tietoja HTTP (S) -palvelimelle milloin tahansa. Voit hallita sitä, mitä tietoja lähetetään ja miten ne on järjestetty, mikä helpottaa tietojen mukauttamista käytettäväksi olemassa olevien palvelujen kanssa.
Turvatoimet:
-
HTTP (S) -asiakaspyyntöominaisuus on oletusarvoisesti poistettu käytöstä. Järjestelmänvalvojan on nimenomaisesti otettava ominaisuus käyttöön asettamalla On (
XConfiguration HttpClient Mode: On). -
Järjestelmänvalvoja voi estää Client AllowHTTP: Fal se).
-
Järjestelmänvalvoja voi määrittää luettelon HTTP (S) -palvelimista, joille laite saa lähettää tietoja. (Katso
XCommand HttpClient Allow Hostname -komennot.) -
Samanaikaisten HTTP (S) -pyyntöjen määrä on rajoitettu.
Tässä artikkelissa mainitut kokoonpanot ovat saatavilla sekä laitteen web-käyttöliittymästä että sovellusliittymästä. Komennot ovat käytettävissä sovellusliittymän kautta. Lue Lisä asetukset -artikkelista lisätietoja verkkoliittymän käyttämisestä ja sovellusliittymän käytöstä.
Luettelo sallituista HTTP (S) -palvelimista
Järjestelmänvalvoja voi käyttää näitä komentoja määrittääkseen ja ylläpitämään luetteloa enintään kymmenestä sallitusta HTTP (S) palvelimesta (isännästä):
-
XCommand HttpClient Salli isäntänimen lisäyslauseke:<Regular expression that matches the host name or IP address of the HTTP (S) server> -
XCommand HttpClient Salli isäntänimi Tyhjennä -
XCommand HttpClient Salli isäntänimiluettelo -
XCommand HttpClient Salli isäntänimi Poista tunnus:<id of an entry in the list>
Jos luettelo sisältää palvelinmerkintöjä, voit lähettää vain HTTP (S) -pyyntöjä kyseisille palvelimille. Jos luettelo on tyhjä, voit lähettää pyyntöjä mihin tahansa HTTP (S) -palvelimeen.
Tarkastus sallittujen palvelimien luettelosta suoritetaan sekä epävarman (HTTP) että suojatun (HTTPS) tiedonsiirron yhteydessä.
HTTPS ilman varmenteen vahvistamista
Kun lähetät pyyntöjä HTTPS: n kautta, laite tarkistaa oletusarvoisesti HTTPS-palvelimen varmenteen. Jos HTTPS-palvelinvarmennetta ei todeta kelvolliseksi, näyttöön tulee virheilmoitus. Laite ei lähetä mitään dataa kyseiselle palvelimelle.
Suosittelemme HTTPS-protokollan käyttöä varmenteen vahvistuksen kanssa. Jos varmenteen vahvistaminen ei ole mahdollista, järjestelmänvalvoja voi asettaa On). Tämä sallii HTTPS:n käytön vahvistamatta palvelimen varmennetta.
HTTP (S) -pyyntöjen lähettäminen
Kun HTTP (S) -asiakaspyyntöominaisuus on otettu käyttöön, voit lähettää pyyntöjä HTTP (S) -palvelimelle seuraavien komentojen avulla.
<method>on joko
Post
, P
ut
,
Patch
,
G et tai
Delete
.
-
XCommand HttpClient [AllowInsecureHTTPS:] [Otsikko:] [ResponseSizeLimit:] [ResultBody:] [Aikakatkaisu:] Verkko-osoite:<Method><True/False> <Header text><Maximum response size><None/PlainText/Base64> <Timeout period><URL to send the request to>
Otsikkokenttien lisääminen on valinnaista, ja voit lisätä enintään 20 kenttää.
AllowInsecureHTTPS-
parametri vaikuttaa vain, jos järjestelmänvalvoja on sallinut HTTPS:n käytön vahvistamatta palvelimen varmennetta. Jos näin on, voit lähettää tietoja palvelimelle vahvistamatta palvelinvarmennetta, jos parametrin arvoksi on asetettu
True
. Jos jätät parametrin pois tai asetat sen arvoksi
Fal se
, tietoja ei lähetetä, jos varmenteen vahvistus epäonnistuu.
RespoSenSizeLimit-
parametri on suurin hyötykuorman koko (tavuja), jonka laite hyväksyy palvelimen vastauksena. Jos vastauksen hyötykuorma on suurempi kuin tämä enimmäiskoko, komento palauttaa tilavirheen. Virhesanoma kertoo, että tiedoston enimmäiskoko on ylitetty. Tällä ei kuitenkaan ole vaikutusta palvelinpuolelle; palvelin on vastaanottanut ja käsitellyt pyynnön asianmukaisesti.
ResultBody-
parametrin avulla voit päättää, miten palvelimen HTTP-vastauksen runko muotoillaan komentotuloksessa. Sinulla on kolme vaihtoehtoa:
-
Eimitään: Älä sisällytä HTTP-vastauksen runkoa komentotulokseen. -
Base64: Base64 koodaa kehon ennen sen sisällyttämistä tulokseen. -
PlainText: Sisällytä teksti tulokseen pelkkänä tekstinä. Jos vastaus sisältää ei-tulostettavia kirjaimia, komento palauttaa tilavirheen, jossa ilmoitetaan, että tulostamattomia tietoja on havaittu.
Aseta
aikakatkaisu jakso (sekunteja) Aikatkoksen
parametrilla. Jos pyyntöä ei suoriteta tänä aikana, API palauttaa virheen.
Anna hyötykuorma (data) heti komennon antamisen jälkeen. Kaikki syöttämäsi, rivinvaihdot mukaan lukien, ovat osa hyötykuormaa. Kun olet valmis, viimeistele rivinvaihdolla (”\ n”) ja erillisellä rivillä, joka sisältää vain pisteen, jota seuraa rivinvaihto (”. \ n”). Nyt komento suoritetaan ja tiedot lähetetään palvelimelle.
Esimerkkejä
Viestin runko on JSON molemmissa esimerkeissä. Se voi olla mikä tahansa muoto, riippuen viestit vastaanottavan palvelun odotetusta muodosta.
Esimerkki 1: IoT-laitteiden hallinta HTTP Postin avulla
Tässä on makrotoiminto, joka sytyttää valon, joka on kytketty Philips Hue Bridge -siltaan:
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); }
Voit tehdä saman komentorivillä API: n avulla:
xcommand HttpClient Put Header: "Content-Type: application/json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} .
Esimerkki 2: Tietojen lähettäminen seurantatyökaluun HTTP Post -sovelluksella
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"} .
Lisätietoa
Lisätietoja HTTP-asiakaspyyntöjen käytöstä on Mukautus op paassa . Valitse uusin versio.
Cisco-tuki (TAC) ei tue kolmannen osapuolen koodin, mukaan lukien makrojen, virheenkorjausta. Tarkista https://roomos.cisco.com, jos tarvitset apua makrojen ja kolmannen osapuolen koodin kanssa.