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