Skicka HTTP-förfrågningar från enheter i Board, Desk och Room Series
list-menuHar du feedback?
Den här funktionen gör det möjligt för Board-, Desk- eller Room Series-enheter att initiera och ta emot HTTP (S) -förfrågningar med en HTTP (S) -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 HTTP (S) -server när du behöver. Du har kontroll över vilka data som skickas och hur de är organiserade, vilket gör det enkelt att anpassa data för användning med befintliga tjänster.

Säkerhetsåtgärder:

  • Funktionen HTTP (S) klientbegäran är inaktiverad som standard. En systemadministratör måste uttryckligen aktivera funktionen genom att ställa in HttpClient > Mode till På ( XConfiguration HttpClient Mode: On).

  • Systemadministratören kan förhindra användningen av HTTP genom att ställa in HttpClient > Allow HTTP till False ( xConfiguration Http Client AllowHTTP: Fal se).

  • Systemadministratören kan ange en lista över HTTP (S) -servrar som enheten får skicka data till. (Se kommandona för XCommand HttpClient Tillåt värdnamn .)

  • Antalet samtidiga HTTP (S) -förfrågningar är begränsat.

Konfigurationerna som hänvisas till i den här artikeln är tillgängliga både från enhetens webbgränssnitt och i API: n. Kommandon är tillgängliga via API. Läs artikeln Avancerade inställningar för information om hur du kommer åt webbgränssnittet och använder API.

Lista över tillåtna HTTP (S) -servrar

Systemadministratören kan använda dessa kommandon för att ställa in och underhålla en lista med upp till tio tillåtna HTTP (S) -servrar (värdar):

  • XCommand HttpClient Tillåt värdnamn Lägg till uttryck: <Regular expression that matches the host name or IP address of the HTTP (S) server>

  • XCommand HttpClient Tillåt värdnamn Rensa

  • XCommand HttpClient Tillåt värdnamnslista

  • XCommand HttpClient Tillåt värdnamn Ta bort Id: <id of an entry in the list>

Om listan innehåller serverposter kan du bara skicka HTTP (S) -förfrågningar till dessa servrar. Om listan är tom kan du dock skicka förfrågningar till valfri HTTP (S) -server.

Kontrollen mot listan över tillåtna servrar utförs både vid användning av osäker (HTTP) och säker (HTTPS) överföring av data.

HTTPS utan certifikatvalidering

När du skickar förfrågningar via HTTPS kontrollerar enheten certifikatet för HTTPS-servern som standard. Om HTTPS-servercertifikatet inte visar sig vara giltigt visas ett felmeddelande. Enheten skickar ingen data till den servern.

Vi rekommenderar att du använder HTTPS med certifikatvalidering. Om certifikatvalidering inte är möjlig kan systemadministratören ställa in HttpClient > AllowInsecureHTTPS till På ( XConfiguration HttpClient AllowInsecureHTTPS: På). Detta tillåter användning av HTTPS utan att validera serverns certifikat.

Skicka HTTP (S) förfrågningar

När funktionen HTTP (S) klientförfrågan är aktiverad kan du använda följande kommandon för att skicka förfrågningar till en HTTP (S) -server. <method>är antingen Post , P ut , Patch , G et eller Delete .

  • XCommand HttpClient [AllowInsecureHTTPS:] [Rubrik:] [ResponseSizeLimit:] [ResultBody:] [Timeout:] Webbadress: <Method><True/False> <Header text><Maximum response size><None/PlainText/Base64> <Timeout period><URL to send the request to>

Att lägga till rubrikfält är valfritt, och du kan lägga till upp till 20 fält.

Parametern allowInsecureHTTPS har endast effekt om systemadministratören har tillåtit användning av HTTPS utan att validera serverns certifikat. Om så är fallet kan du skicka data till servern utan att validera servercertifikatet om parametern är inställd på True . Om du utelämnar parametern eller ställer in den till Fal skt skickas inte data om certifikatvalideringen misslyckas.

Parametern RespoSenSizeLimit är den maximala nyttolaststorleken (byte) som enheten accepterar som svar från servern. Om svarets nyttolast är större än den maximala storleken returnerar kommandot ett statusfel. Felmeddelandet säger att den maximala filstorleken överskrids. Detta har dock ingen effekt på serversidan; servern har tagit emot och behandlat begäran korrekt.

Använd parametern resultBody för att bestämma hur du formaterar brödtexten för HTTP-svaret från servern i kommandoresultatet. Du har tre alternativ:

  • Ingen : Inkludera inte innehållet i HTTP-svaret i kommandoresultatet.

  • Base64 : Base64 kodar kroppen innan den ingår i resultatet.

  • klartext : Inkludera brödtexten i resultatet som vanlig text. Om svaret innehåller bokstäver som inte kan skrivas ut returnerar kommandot ett statusfel med ett meddelande om att icke-utskrivbara data påträffades.

Använd parametern Timeout för att ställa in en timeout-period (sekunder). Om begäran inte slutförs under denna period returnerar API:et ett fel.

Ange nyttolast (data) direkt efter att du har utfärdat kommandot. Allt du anger, inklusive radbrytningar, är en del av nyttolasten. När du är klar avslutar du med en radbrytning (”\ n”) och en separat rad som bara innehåller en period följt av en radbrytning (”. \ n”). Nu körs kommandot och data skickas till servern.

Exempel

Meddelandets brödtext är JSON i båda dessa exempel. Det kan vara vilket format som helst, beroende på det förväntade formatet för tjänsten som tar emot meddelandena.

Exempel 1: IoT-enhetskontroll med HTTP Post

Här är en makrofunktion som tänder ett ljus som är anslutet till en Philips Hue-brygga:


     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 detsamma på kommandoraden med API: n:


     xcommand HttpClient Put Header: "Content-Type: application/json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} . 
   

Exempel 2: Publicera data till ett övervakningsverktyg med HTTP Post


     xcommand HttpClient Post Header: "Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"A user reported an issue with this system","systemName":"BoardRoom 4th floor","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"} . 
   

Ytterligare information

Mer information om hur du använder HTTP-klientförfrågningar finns i An passningsguiden . Välj den senaste versionen.

Cisco-support (TAC) stöder inte 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.

Var den här artikeln användbar?
Var den här artikeln användbar?