Med den här funktionen kan enheter i Board-, Desk- eller Room-serien initiera och ta emot HTTPs-begäranden med en HTTPs-server. Dessa enheter stöder metoder som Post, Put, Patch, Get och Delete, vilket möjliggör olika interaktioner med servern.
Med makron kan du skicka data till en HTTPs-server när du vill. Du har kontroll över vilken data som skickas och hur den är organiserad, vilket gör det enkelt att anpassa data för användning med befintliga tjänster.
Säkerhetsåtgärder:
-
Funktionen för HTTP(S)-klientförfrågan är inaktiverad som standardvärde. En systemadministratör måste uttryckligen aktivera funktionen genom att ange
till On (xConfiguration HttpClient Mode: On
). -
Systemadministratören kan förhindra användningen av HTTP genom att ange HttpClient
False ( xConfiguration HttpClient AllowHTTP: False).
-
Systemadministratören kan ange en lista över HTTP(S)-servrar som enheten har tillåtelse att skicka data till. (Se kommandon
xCommand HttpClient Allow Hostname
.) -
Antalet samtidiga HTTP(S)-förfrågan begränsas.
Konfigurationerna som beskrivs i den här artikeln är tillgängliga både från enhetens webbgränssnitt och i API. Kommandon är tillgängliga via API. Läs mer om att komma åt webbgränssnittet och använda API:et i artikeln Avancerade inställningar.
Lista över tillåtna HTTP(S)-servrar
Systemadministratören kan använda de här kommandona för att konfigurera och underhålla en lista med upp till tio tillåtna HTTP(S)-servrar (värdar):
-
xKommando HttpKlient tillåt värdnamn lägg till uttryck: <reguljärt uttryck som matchar värdnamn eller IP-adressen för servern HTTP(S)>
-
xKommando HttpKlient tillåt värdnamn rensa
-
xKommando HttpKlient tillåt värdnamn lista
-
xKommando HttpKlient tillåt värdnamn radera Id: <id för en post i listan>
Om listan innehåller serverposter kan du bara skicka HTTPs-begäranden till dessa servrar. Om listan är tom kan du skicka begäranden till valfri HTTPs-server.
Kontrollen mot listan över tillåtna servrar utförs både när du använder osäkra (HTTP) och säkra (HTTPS) överföringar av data.
HTTPS utan certifikatvalidering
När förfrågningar skickas via HTTPS kontrollerar enheten certifikatet för HTTPS-servern som standard. Om servercertifikatet HTTPS inte anse vara giltigt får du ett felmeddelande. Enheten skickar inte någon data till den servern.
Vi rekommenderar att du använder HTTPS med certifikatverifiering. Om certifikatvalidering inte är möjlig kan systemadministratören ange HttpClient ).
Detta tillåter användning av HTTPS utan att validera certifikatet för servern.
Skicka HTTPs-begäranden
När funktionen för HTTP(S)-klientförfrågan är aktiverad kan du använda följande kommandon för att skicka förfrågan till en HTTP(S)-server: <method>
är antingen Post
, Put
, Patch
, Get
eller Delete
.
-
xCommand HttpClient <Metod> [AllowInsecureHTTPS: <Sant/Falskt>] [Sidhuvud: <Rubriktext>] [ResponseSizeLimit: <Maximal svarsstorlek>] [ResultBody: <Ingen/PlainText/Base64>] [Timeout: <Timeout-period>] URL: <URL att skicka begäran till>
Det är valfritt att lägga till rubrikfält och du kan lägga till upp till 20 fält.
Parametern TillåtOsäkerHTTPS
har endast inverkan om systemadministratören har gett tillåtelse för HTTPS utan att validera certifikatet för servern. Om så är fallet, du kan skicka data till servern utan att verifiera servercertifikatet om parametern är inställd på Sant
. Om du lämnar ut parametern, eller ange Falskt
, data skickas inte om verifiering av certifikat misslyckas.
Parametern ResposenSizeLimit
är den maximala nyttolaststorleken (byte) som enheten accepterar som svar från servern. Om svaret om nyttolast är större än den maximala storleken returneras ett statusfel. Felmeddelandet talar om att den maximala filstorleken har överskridits. Detta påverkar dock inte serversidan; servern har tagit emot och behandlat förfrågan korrekt.
Använd parametern ResultBody
när du vill definiera hur texten i HTTP-svaret formateras från servern i kommandoresultatet. Det finns tre alternativ:
-
None
: Inkludera inte texten i HTTP-svaret i kommandoresultatet. -
Base64
: Base64-koda texten innan den inkluderas i resultatet. -
PlainText
: Inkludera texten i resultatet som oformaterad text. Om svaret innehåller ej utskrivbara bokstäver returneras ett statusfel med ett meddelande om att data som inte är utskrivbara har påträffats.
Använd parametern Timeout
för att ange timeout i antal sekunder. Om förfrågan inte slutförs under den här perioden returneras ett fel från API.
Ange last (data) direkt efter att du har skickat kommandot. Allt som du anger, inklusive radbrytning, är en del av lasten. När du är klar, avsluta med en radbrytning (”\n”) och en separat rad med bara en period följt av en radbrytning (”. \n”). Nu utförs kommandot och data skickas till servern.
Exempel
Huvudtexten är JSON i båda dessa exempel. Det kan vara vilket format som helst, beroende på vilket format som förväntas för den tjänst som tar emot meddelanden.
Exempel 1: IoT enhetskontroll använder HTTP-inlägg
Här är en makrofunktion som aktiverar en lampa ansluten till en Philips Hue Bridge:
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); }
Du kan göra samma på kommandoraden med hjälp av API:
xcommand HttpClient Sätt rubrik: "Content-Type: application/json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} .
Exempel 2: Lägga in data till ett övervakningsverktyg som använder HTTP-inlägg
xcommand HttpClient Post Header: "Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"En användare rapporterade ett problem med det här systemet","systemName":"BoardRoom 4th floor","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"} .
Mer information
Mer information om hur du använder HTTP-klientförfrågan i Anpassningsguiden. Välj den senaste versionen.
Cisco support (TAC) har inte stöd för felsökning av kod från tredje part, inklusive makron. Kontrollera https://roomos.cisco.com om du behöver hjälp med makron och kod från tredje part.