A makrók segítségével bármikor küldhet adatokat egy HTTP (S) kiszolgálóra. Ön irányítja, hogy milyen adatokat küldenek és hogyan szerveződnek, megkönnyítve az adatok adaptálását a meglévő szolgáltatásokhoz való használatra.
Biztonsági intézkedések:
-
A HTTP (S) ügyfélkérési funkció alapértelmezés szerint le van tiltva. A rendszergazdának kifejezetten engedélyeznie kell a funkciót a beállításával a Bekapcsolt (
XConfiguration HttpClient mód:Be) beállításával. -
A rendszergaz da megakadályozhatja a HTTP használatát, ha a Htt : False).
-
A rendszergazda megadhatja azon HTTP (S) kiszolgálók listáját, amelyekre az eszköz adatokat küldhet. (Lásd az
XCommand HttpClient Hostname engedélyezéseparancsokat.) -
A párhuzamos HTTP (S) kérelmek száma korlátozott.
Az ebben a cikkben említett konfigurációk mind az eszköz webes felületéről, mind az API-n érhetők el. A parancsok az API-n keresztül érhetők el. Olvassa el a Speci ális beállí tások cik ket a webes felület eléréséről és az API használatáról.
Engedélyezett HTTP (S) szerverek listája
A rendszergazda ezekkel a parancsokkal beállíthatja és fenntarthatja a legfeljebb tíz engedélyezett HTTP (S) kiszolgáló (host) listáját:
-
XCommand HttpClient Engedélyezze a hostnév kifejezés hozzáadását:<Regular expression that matches the host name or IP address of the HTTP (S) server> -
XCommand HttpClient A gazdanév törlése engedélyezése -
XCommand HttpClient Engedélyező gazdanév listája -
XCommand HttpClient Engedélyezze a hostnév eltávolítását:<id of an entry in the list>
Ha a lista szerverbejegyzéseket tartalmaz, akkor csak HTTP (S) kéréseket küldhet ezekre a kiszolgálókra. Ha azonban a lista üres, kéréseket küldhet bármely HTTP (S) kiszolgálóra.
Az engedélyezett kiszolgálók listájának ellenőrzése mind a biztonságos (HTTP), mind a biztonságos (HTTPS) adatátvitel esetén történik.
HTTPS tanúsítvány érvényesítése nélkül
A HTTPS-en keresztüli kérelmek küldésekor az eszköz alapértelmezés szerint ellenőrzi a HTTPS-kiszolgáló tanúsítványát. Ha a HTTPS-kiszolgáló tanúsítványát nem találja érvényesnek, hibaüzenet jelenik meg. A készülék nem küld semmilyen adatot a szerverre.
Javasoljuk, hogy a HTTPS-t tanúsítvány érvényesítésével használja Ha a tanúsítvány érvényesítése nem lehetséges, a rendszergaz da beállíthatja a Be) értékre. Ez lehetővé teszi a HTTPS használatát a kiszolgáló tanúsítványának érvényesítése nélkül.
HTTP (S) kérések küldése
A HTTP (S) ügyfélkérési funkció engedélyezése után a következő parancsokkal küldhet kérelmeket egy HTTP (S) kiszolgálóra.
<method>vagy Hozzászó
lás
, El
helyez és
,
Javítás
,
Szerez és vagy T
örlés
.
-
XCommand HttpClient [allowInsecureHttps:] [Fejléc:] [ResponseSizeLimit:] [ResultBody:] [Időlejárat:] Url:<Method><True/False> <Header text><Maximum response size><None/PlainText/Base64> <Timeout period><URL to send the request to>
A fejlécmezők hozzáadása opcionális, és legfeljebb 20 mezőt adhat hozzá.
Az
AllowInsecureHTTPS
paraméter csak akkor érvényes, ha a rendszergazda engedélyezte a HTTPS használatát a kiszolgáló tanúsítványának érvényesítése nélkül. Ha igen, akkor a kiszolgálótanúsítvány érvényesítése nélkül küldhet adatokat a kiszolgálónak, ha a paraméter
True
értékre van állítva. Ha kihagyja a paramétert, vagy
hamis értékre állítja, az adatok nem kerülnek elküldésre
, ha a tanúsítvány érvényesítése sikertelen.
A
ResposensizeLimit
paraméter a maximális hasznos terhelési méret (bájt), amelyet az eszköz a kiszolgáló válaszként fogad el. Ha a válasz hasznos terhelése nagyobb, mint ez a maximális méret, a parancs állapothibát ad vissza. A hibaüzenet azt mondja, hogy a maximális fájlméret túllépte. Ennek azonban nincs hatása a szerver oldalára; a szerver megfelelően fogadta és feldolgozta a kérést.
A
ResultBody
paraméter segítségével döntheti el, hogyan kell formázni a HTTP válasz törzsét a kiszolgálóról a parancs eredményében. Három lehetősége van:
-
Nincs: Ne adja meg a HTTP-válasz törzsét a parancs eredményébe. -
Base64: A Base64 kódolja a testet, mielőtt belefoglalná az eredménybe. -
PlainText: A törzset egyszerű szövegként adja meg az eredménybe. Ha a válasz nem nyomtatható betűket tartalmaz, a parancs állapothibát ad vissza, amely azt jelzi, hogy nem nyomtatható adatok kerültek fel.
A
Timeout
paraméter segítségével állíthat be egy időtúllépési időszakot (másodperc). Ha a kérés ebben az időszakban nem teljesül, az API hibát ad vissza.
Írja be a hasznos teherbírást (adatokat) közvetlenül a parancs kiadása után. Bármi, amit megad, beleértve a sortöréseket is, része a hasznos tehernek. Ha kész, fejezze be egy vonaltöréssel („\n”) és egy külön sorral, amely csak egy szakaszt tartalmaz, amelyet sortörés követ (”. \n”). Most a parancs végrehajtásra kerül, és az adatokat elküldik a kiszolgálónak.
Példák
Az üzenet törzse mindkét példában JSON. Bármilyen formátum lehet, az üzeneteket fogadó szolgáltatás várható formátumától függően.
1. példa: IoT eszköz vezérlése HTTP Post segítségével
Itt van egy makrófunkció, amely bekapcsolja a Philips Hue hídhoz csatlakoztatott lámpát:
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); }
Ugyanezt megteheti a parancssorban az API használatával:
xcommand HttpClient Put Header: "Content-Type: application/json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} .
2. példa: Adatok közzététele egy felügyeleti eszközbe a HTTP Post használatával
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"} .
További információk
További részletek a HTTP-ügyfélkérelmek használatáról a Testre szabási útmutatóban találhatók . Válassza ki a legújabb verziót.
A Cisco támogatás (TAC) nem támogatja a harmadik féltől származó kódok hibakeresését, beleértve a makrókat is. Kérjük, nézze meg a https://roomos.cisco.com oldalt, ha segítségre van szüksége a makrókkal és harmadik féltől származó kóddal kapcsolatban.