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 HttpClient > Mód értékét Be-re állítja (xConfiguration HttpClient Mode: On).

  • A rendszergazda megakadályozhatja a HTTP használatát úgy, hogy a HttpClient > AllowHTTP é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 HttpClient > AllowInsecureHTTPS értékét Be-re állíthatja (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:

  • Nincs: Ne foglalja bele 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.

  • 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.