Ez a funkció lehetővé teszi a Board, Desk vagy Room sorozatú eszközök számára, hogy HTTPs kéréseket kezdeményezzenek és fogadjanak HTTPs szerverrel. Ezek az eszközök támogatják az olyan módszereket, mint a közzététel, elhelyezés, javítás, beszerzés és törlés, 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ónak. Ön szabályozhatja, hogy milyen adatokat küldjön el és hogyan szervezze őket, így egyszerűen adaptálhatja az adatokat a meglévő szolgáltatásokhoz.
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éről és a API oldalon is elérhetők. A parancsok a API oldalon 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.
Az engedélyezett HTTP-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 Hosztnév engedélyezése Kifejezés hozzáadása: <Reguláris kifejezés, amely megegyezik a HTTPs-kiszolgáló gazdagépnevével vagy IP címével>
-
xCommand HttpClient Hosztnév törlése engedélyezése
-
xCommand HttpClient Hostnév lista engedélyezése
-
xCommand HttpClient Hostnév engedélyezése Eltávolítás Id: <a listában szereplő bejegyzés azonosítója>
Ha a lista szerverbejegyzéseket tartalmaz, akkor csak ezeknek a szervereknek küldhet HTTPs-kérelmeket. Ha azonban a lista üres, kéréseket küldhet bármely HTTPs-kiszolgálónak.
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ányellenőrzé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 <Módszer> [AllowInsecureHTTPS: <Igaz/Hamis>] [Fejléc: <Fejléc szövege>] [ResponseSizeLimit: <Maximális válaszméret>] [ResultBody: <None/PlainText/Base64>] [Timeout period:] URL: <URL a kérés elküldéséhez>
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:
-
Egyik sem
: Ne adja meg a HTTP-válasz törzsét a parancs eredményében. -
Base64
: A Base64 kódolja a törzset, mielőtt belefoglalná az eredménybe. -
Egyszerű szöveg
: A törzs szövege egyszerű szövegként szerepeljen az eredményben. 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-posta segítségével
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 = 'Tartalomtípus: Application/json'; var command = '{"on":true}'; xapi.command('HttpClient Put', { 'Url': url, 'Fejléc': fejlécek }, parancs); }
Ugyanezt a parancssorban is megteheti az API használatával:
xcommand HttpClient Helyezze el a fejlécet: "Content-Type: application/json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} .
2. példa: Adatok feladása egy megfigyelő eszközbe a HTTP Post használatával
xcommand HttpClient bejegyzés fejléce: "Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Üzenet":"Egy felhasználó problémát jelentett ezzel a rendszerrel","rendszernév":"BoardRoom 4th floor","softwareVersion": "ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Kettős"} .
További információ
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érem ellenőrizze https://roomos.cisco.com ha segítségre van szüksége a makrókhoz és a harmadik féltől származó kódokhoz.