HTTP-kérések küldése Board, Desk és Room sorozatú eszközökről
list-menuVisszajelzés?
Ez a funkció lehetővé teszi, hogy Board, Desk vagy Room sorozatú 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 kiszolgálóval 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 HTTPs ügyfélkérési funkciója alapértelmezés szerint le van tiltva. A rendszergazdának explicit módon engedélyeznie kell a szolgáltatást a HttpClient > Mode (xConfiguration HttpClient Mode: On ) értékre állításával.

  • A rendszergazda megakadályozhatja a HTTP használatát, ha a HttpClient>AllowHTTP értékét False ( xConfiguration HttpClient AllowHTTP: False ) értékre állítja .

  • A rendszergazda megadhatja azoknak a HTTPs-kiszolgálóknak a listáját, amelyekre az eszköz adatokat küldhet. (Lásd az xCommand HttpClient Allow Hostname parancsokat.)

  • Az egyidejű HTTPs-kérések száma korlátozott.

A cikkben említett konfigurációk az eszköz webes felületén és a API formátumban is elérhetők. A parancsok a API hashtaggel érhetők el. Olvassa el a Speciális beállítások cikket a webes felület eléréséről és a API használatáról.

Engedélyezett HTTPs-kiszolgálók listája

A rendszergazda az alábbi parancsokkal állíthat be és tarthat karban egy legfeljebb tíz engedélyezett HTTPs-kiszolgálót (állomást) tartalmazó listát:

  • 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 Távolítsa el a ID: <ID bejegyzést a listából>

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ának ellenőrzése nem biztonságos (HTTP) és biztonságos (HTTPS) adatátvitel esetén is megtörténik.

HTTPS tanúsítványérvényesítés nélkül

Amikor HTTPS-kapcsolaton 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üzenet jelenik meg. Az eszköz nem küld adatokat a kiszolgálónak.

Javasoljuk, hogy HTTPS-t használjon tanúsítványérvényesítéssel. Ha a tanúsítvány érvényesítése nem lehetséges, a rendszergazda a HttpClient > AllowInsecureHTTPS beállítást Be ( xConfiguration HttpClient AllowInsecureHTTPS: Be ) értékre állíthatja . Ez lehetővé teszi a HTTPS használatát a kiszolgáló tanúsítványának érvényesítése nélkül.

HTTPs-kérések küldése

Miután engedélyezte a HTTPs ügyfélkérési funkciót, a következő parancsokkal küldhet kéréseket egy HTTPs-kiszolgálónak. <metódus> lehet POST , PUT,Patch,Get vagy Delete.

  • 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 engedélyezte a HTTPS használatát a kiszolgáló tanúsítványának érvényesítése nélkül. Ebben az esetben a kiszolgálói tanúsítvány érvényesítése nélkül is küldhet adatokat a kiszolgálónak, ha a paraméter értéke Igaz . Ha kihagyja a paramétert, vagy hamis értékre állítja, a rendszer nem küld adatokat, ha a tanúsítvány érvényesítése sikertelen.

A ResposenSizeLimit paraméter a hasznos adatok maximális mérete (bájt), amelyet az eszköz válaszként fogad el a kiszolgálótól. Ha a válasz hasznos adata nagyobb, mint ez a maximális méret, a parancs állapothibát ad vissza. A hibaüzenet szerint túllépte a maximális fájlméretet. Ennek azonban nincs hatása a szerver oldalra; A szerver megfelelően fogadta és feldolgozta a kérelmet.

A ResultBody paraméterrel eldöntheti, hogyan formázza a kiszolgálóról érkező HTTP-válasz törzsét a parancs 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, a parancs állapothibát ad vissza egy üzenettel, amely szerint nem nyomtatható adatok találhatók.

A Timeout paraméterrel időtúllépési időszakot (másodpercet) állíthat be. Ha a kérés nem fejeződik be ebben az időszakban, a API hibaüzenetet ad vissza.

Adja meg a hasznos adatokat (adatokat) közvetlenül a parancs kiadása után. Bármi, amit beír, beleértve a sortöréseket is, a hasznos teher része. Ha elkészült, fejezze be egy sortöréssel ("\n") és egy külön sorral, amely csak egy pontot tartalmaz, majd egy sortörést (".\n"). Most a parancs végrehajtásra kerül, és az adatokat elküldi a szervernek.

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árt formátumától függően.

1. példa: IoT-eszközvezérlés HTTP POST használatával

Íme egy makrófunkció, amely felkapcsolja a Philips Hue Bridge készülékhez 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 a API használatával:

 xcommand HttpClient PUT Fejléc: "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 figyelőeszközbe HTTP POST használatával

 xcommand HttpClient POST Fejléc: "Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"A 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 hibakeresését, beleértve a makrókat is. 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.

Hasznos volt ez a cikk?
Hasznos volt ez a cikk?