Ez a funkció lehetővé teszi, hogy az alaplapi, asztali vagy szobasorozatú eszközök HTTPs-kéréseket kezdeményezzenek és fogadjanak egy HTTPs-kiszolgálóval. Ezek az eszközök olyan módszereket támogatnak, mint a Post, Put, Patch, Get és Delete, lehetővé téve a szerverrel való különböző interakciókat.
A makrók segítségével bármikor küldhet adatokat egy HTTPs-kiszolgálóra. Ön szabályozhatja, hogy milyen adatokat küldjön a rendszer, és hogyan rendezze azokat, így egyszerűen adaptálhatja az adatokat a meglévő szolgáltatásokkal való használatra.
Biztonsági intézkedések:
-
A HTTP(S)-ügyfélkérés funkció alapértelmezés szerint le van tiltva. A rendszergazdának explicit módon engedélyeznie kell a funkciót úgy, hogy a
értékét Be-re állítja (xConfiguration HttpClient Mode: On
). -
A rendszergazda megakadályozhatja a HTTP használatát úgy, hogy a
értékét Hamis-ra állítja (xConfiguration HttpClient AllowHTTP: False
). -
A rendszergazda megadhatja azoknak a HTTP(S)-kiszolgálóknak a listáját, amelyeknek az eszköz adatokat küldhet. (Lásd:
xCommand HttpClient Allow Hostname
parancsok.) -
Korlátozott az egyidejű HTTP(S) kérések száma.
A cikkben említett konfigurációk az eszköz webes felületén és a API is elérhetők. A parancsok a API keresztül érhetők el. A webinterfész elérését és az API használatát a Speciális beállítások című cikk ismerteti.
Engedélyezett HTTPs-kiszolgálók listája
A rendszergazda a következő parancsok segítségével hozhat létre és tarthat fenn legfeljebb 10 engedélyezett HTTP(S)-kiszolgálót (gazdagépet):
-
xCommand HttpClient Allow Hostname Add Expression: <Reguláris kifejezés, amely megegyezik a HTTPs-kiszolgáló állomásnevével vagy IP címével>
-
xCommand HttpClient Állomásnév engedélyezése Törlés
-
xCommand HttpClient Allow Hostname List
-
xCommand HttpClient Allow Hostname Remove Id: <lista egyik bejegyzésének azonosítója>
Ha a lista kiszolgálóbejegyzéseket tartalmaz, csak ezekre a kiszolgálókra küldhet HTTPs-kéréseket. Ha azonban a lista üres, bármely HTTPs-kiszolgálónak küldhet kéréseket.
Az engedélyezett kiszolgálók listájával való összehasonlítás a nem biztonságos (HTTP) és biztonságos (HTTPS) adatátvitel használatakor is megtörténik.
HTTPS tanúsítványérvényesítés nélkül
Ha HTTPS-en keresztül küld kéréseket, 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ánya nem érvényes, hibaüzenetet kap. Az eszköz nem küld semmilyen adatot a kiszolgálónak.
A HTTPS protokoll használatát javasoljuk a tanúsítvány ellenőrzésével. Ha a tanúsítvány ellenőrzése nem lehetséges, a rendszergazda a xConfiguration HttpClient AllowInsecureHTTPS: On
). Ez lehetővé teszi a HTTPS használatát a kiszolgáló tanúsítványának ellenőrzése nélkül.
HTTPs-kérések küldése
Ha engedélyezve van a HTTP(S)-ügyfélkérés funkció, akkor a következő parancsok segítségével küldhet egy HTTP(S)-kiszolgálónak egy kérést. A <metódus>
Post
, Put
, Patch
, Get
vagy Delete
lehet.
-
xCommand HttpClient <metódus> [AllowInsecureHTTPS: <Igaz/Hamis>] [Fejléc: <Fejléc szövege>] [ResponseSizeLimit: <Válasz maximális mérete>] [ResultBody: <None/PlainText/Base64>] [Időtúllépés: <Időtúllépési időszak>] URL-cím: <URL-cím, amelyre a kérést küldeni szeretné>
A fejlécmezők hozzáadása nem kötelező, és legfeljebb 20 mezőt adhat hozzá.
Az AllowInsecureHTTPS
paraméternek csak akkor van hatása, ha a rendszergazda a kiszolgáló tanúsítványának ellenőrzése nélkül engedélyezte a HTTPS használatát. Ha ez a helyzet, akkor a kiszolgáló tanúsítványának ellenőrzése nélkül is küldhet adatokat a kiszolgálónak, ha a paraméter értéke True
. Ha kihagyja vagy False
értékre állítja a paramétert, akkor az adatok nem kerülnek elküldésre, ha a tanúsítvány nem megy át az ellenőrzésen.
A ResposenSizeLimit
paraméter az eszköz által a kiszolgálótól válaszként elfogadott hasznos adatok maximális mérete (bájtban). Ha a válaszként kapott hasznos adatok nagyobbak, mint a maximális méret, akkor a parancs állapothibát ad vissza. A hibaüzenet azt mondja, hogy túllépte a maximális fájlméretet. Ez azonban nincs hatással a kiszolgáló oldalra; a kiszolgáló megfelelően fogadta és feldolgozta a kérelmet.
A ResultBody
paraméterrel határozhatja meg, hogyan kell megformázni a HTTP válasz törzsét a parancs kiszolgálóról érkező eredményében. Három lehetőség közül választhat:
-
-
Base64
: A Base64 kódolja a testet, mielőtt belefoglalná az eredménybe. -
Egyszerű szöveg
: A törzset egyszerű szövegként foglalja bele az eredménybe. Ha a válasz nem nyomtatható betűket tartalmaz, akkor a parancs olyan állapothibával tér vissza, amelynek üzenete azt közli, hogy a rendszer nem nyomtatható adatokra bukkant.
A Timeout
paraméterrel az időtúllépés időtartamát adhatja meg (másodpercben). Ha a kérés nem fejeződik be ennyi idő alatt, akkor az API hibát ad vissza.
A hasznos adatokat közvetlenül a parancs kiadását követően adja meg. Minden, amit beír – még a sortörés is – a hasznos adatok részét képezi. Amikor végzett, fejezze be egy sortöréssel ("\n") és egy külön sorral, amely csak egy pontot és utána egy sortörést tartalmaz („.\n”). Ekkor megtörténik a parancs végrehajtása, és az adatokat a rendszer elküldi a kiszolgálónak.
Példák
Az üzenet törzse mindkét következő példában JSON. Az üzeneteket fogadó szolgáltatás várt formátumának függvényében bármilyen formátumú lehet.
1. példa: IoT-eszközvezérlés HTTP Post használatával
Ez itt egy olyan makrófüggvény, amely egy Philips Hue Bridge rendszerhez csatlakoztatott lámpát kapcsol fel:
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 a parancssorban is megteheti 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 feladása figyelőeszközbe HTTP Post használatával
xcommand HttpClient Post fejléc: "Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"Egy felhasználó problémát jelentett ezzel a rendszerrel kapcsolatban","systemName":"BoardRoom 4th floor","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"} .
További információk
A HTTP-ügyfélkérések használatáról további részleteket a Testreszabási útmutatóban talál. 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 (a makrókat is ideértve) hibáinak keresését. Kérjük, ellenőrizze a https://roomos.cisco.com lehetőséget , ha segítségre van szüksége makrókkal és harmadik féltől származó kódokkal kapcsolatban.