A makrók segítségével bármikor küldhet adatokat egy HTTP(S)-kiszolgálónak. Ön felügyelheti, hogy milyen adatokat küldenek és hogyan szerveződnek, ami megkönnyíti az adatok hozzáigazítását a meglévő szolgáltatásokhoz.
Biztonsági intézkedések:
-
A http(S) klienskérelem funkció alapértelmezés szerint le van tiltva. A rendszergazdának kifejezetten engedélyeznie kell a funkciót úgy, hogy a
Be értékre állítja (xConfiguration HttpClient Mode: Be:
). -
A rendszergazda megakadályozhatja a HTTP használatát, ha a
értékét False értékre állítja (xConfiguration HttpClient AllowHTTP: Hamis
). -
A rendszergazda megadhatja azoknak a http(S) -szervereknek a listáját, amelyekre az eszköz adatokat küldhet. (Lásd az
xCommand HttpClient Allow Hostname
parancsokat.) -
Az egyidejű HTTP(S) -kérelmek száma korlátozott.
Az ebben a cikkben említett konfigurációk az eszköz webinterfészén és az API-ban is elérhetők. A parancsok az API-n keresztül érhetők el. Olvassa el a Speciális beállítások című szakaszt arról, hogyan érheti el a webes felületet, és hogyan használhatja az API-t.
Az engedélyezett http(S) -kiszolgálók listája
A rendszergazda ezekkel a parancsokkal legfeljebb tíz engedélyezett http(S) kiszolgálót (állomást) állíthat be és tarthat fenn:
-
xCommand HttpClient Engedélyezze a gazdagépnév hozzáadását:
-
xCommand HttpClient Engedélyezze a gazdagép nevének törlését
-
xCommand HttpClient Engedélyezze a gazdagépnév-listát
-
xCommand HttpClient Allow Hostname Remove Id:
Ha a lista kiszolgálóbejegyzéseket tartalmaz, akkor csak ezekre a kiszolgálókra küldhet HTTP(S)-kéréseket. Ha azonban a lista üres, bármelyik HTTP(S)-kiszolgálóra küldhet kéréseket.
Az engedélyezett kiszolgálók listájával való összevetés nem biztonságos (HTTP) és biztonságos (HTTPS) adatátvitel esetén egyaránt megtörténik.
HTTPS tanúsítvány-ellenőrzés nélkül
Ha a kéréseket HTTPS-en keresztül küldi, a készülék alapértelmezés szerint ellenőrzi a HTTPS-kiszolgáló tanúsítványát. Ha a https szerver tanúsítványa nem érvényes, hibaüzenet jelenik meg. Az eszköz nem küld adatokat a szerverre.
Javasoljuk, hogy a HTTPS-t tanúsítvány-ellenőrzéssel használja. Ha a tanúsítvány érvényesítése nem lehetséges, a rendszergazda a xConfiguration HttpClient AllowInsecureHTTPS: Be:
). Ez lehetővé teszi a https használatát a szerver tanúsítványának ellenőrzése nélkül.
HTTP(S)-kérések küldése
Miután engedélyezve van a HTTP(S)-ügyfélkérés funkció, a következő parancsokkal küldhet kéréseket egy HTTP(S)-kiszolgálónak.
vagy Közzétesz
, Put
, Javítás
, Letöltés
, vagy Törlés
.
-
xCommand HttpClient [AllowInsecureHTTPS: ] [Fejléc: ] [ResponseSizeLimit: ] [ResultBody: ] [Timeout: ] Url:
A fejléc mezők hozzáadása opcionális, 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 igen, akkor a kiszolgáló tanúsítványának ellenőrzése nélkül küldhet adatokat a kiszolgálónak, ha a paraméter beállítása True
. Ha kihagyja vagy Hamis
értékre állítja a paramétert, akkor az adatok nem kerülnek elküldésre, ha a tanúsítvány ellenőrzése sikertelen.
A ResposenSizeLimit
paraméter az eszköz által a kiszolgálótól válaszként elfogadott hasznos adatok maximális mérete (byte). Ha a választerhelés 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 szerveroldalra; a szerver megfelelően fogadta és feldolgozta a kérést.
A ResultBody
paraméterrel tudja eldönteni, hogyan kell formázni a HTTP válasz törzsét a szerverről az eredményben. Három lehetőség közül választhat:
-
Nincs
: 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 beleilleszti az eredménybe. -
Egyszerű szöveg
: A szövegtörzs felvétele az eredménybe egyszerű szövegként. Ha a válasz nem nyomtatható betűket tartalmaz, a parancs állapothibát ad vissza, és azt az üzenetet küldi, hogy nem nyomtatható adatok kerültek elő.
A Timeout
paraméterrel állíthat be időtúllépési időszakot (másodpercben). Ha a kérés ezen időszak alatt nem kerül teljesítésre, az API hibát ad vissza.
Adja meg a hasznos terhelést (adatokat) közvetlenül a parancs kiadása után. Minden, amit belépsz, 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 olyan külön vonallal, amely csak egy pontot, majd egy sortörést („.\n”) tartalmaz. Most a parancs végrehajtódik, és az adatok elküldésre kerülnek a szerverre.
Példák
Az üzenet törzse mindkét példában a JSON. Ez lehet bármilyen formátum, attól függően, hogy a várt formátum a szolgáltatás, amely megkapja az üzeneteket.
1. példa: IoT-eszközvezérlés HTTP-bejegyzés használatával
Itt van egy makró funkció, amely bekapcsolja a Philips Hue-hídhoz csatlakoztatott lámpát:
function hue_command(adat) { var url = 'http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state'; var fejlécek = 'Content-Type: application/json'; var command = '{"on":true}'; xapi.command('HttpClient Put', { 'Url': url, „Fejléc”: fejlécek }, parancs); }
Ugyanezt megteheti a parancssorban az API segítségével:
xcommand HttpClient Put Fejléc: "Content-type: application/json" URL-címe: „http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true}.
2. példa: Adatok küldése egy figyelőeszközre HTTP-bejegyzés 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","systemName":"BoardRoom 4th floor","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"} .
További információk
A HTTP-ügyfélkérelmek használatával kapcsolatos további részletek a Testreszabási útmutatóban találhatók. 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, köztük a makrók hibakeresését. Ellenőrizze, https://roomos.cisco.com hogy segítségre van-e szüksége a makrókkal és a harmadik féltől származó kóddal kapcsolatban.