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

  • A rendszergazda megakadályozhatja a HTTP használatát, ha a HttpClient > AllowHTTP é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 HttpClient > AllowInsecureHTTPS értékét Be értékre állíthatja ( 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.