Afsendelse af HTTP-anmodninger fra Board-, Desk- og Room Series-enheder
list-menuHar du feedback?
Denne funktion gør det muligt for Board-, Desk- eller Room Series-enheder at starte og modtage HTTP (S) -anmodninger med en HTTP (S) -server. Disse enheder understøtter metoder som Post, Put, Patch, Get og Delete, hvilket giver mulighed for forskellige interaktioner med serveren.

Med makroer kan du sende data til en HTTP (S) -server, når du har brug for det. Du har kontrol over, hvilke data der sendes, og hvordan de er organiseret, hvilket gør det nemt at tilpasse dataene til brug med eksisterende tjenester.

Sikkerhedsforanstaltninger:

  • Funktionen HTTP (S) -klientanmodning er som standard deaktiveret. En systemadministrator skal eksplicit aktivere funktionen ved at indstille HttpClient > Til stand til Til ( XConfiguration HttpClient Mode: On).

  • Systemadministratoren kan forhindre brugen af HTTP ved at indstille HttpClient > Allow HTTP til False ( xConfiguration Http Client AllowHTTP: Fal se).

  • Systemadministratoren kan angive en liste over HTTP (S) servere, som enheden må sende data til. (Se kommandoerne XCommand HttpClient Tillad værtsnavn .)

  • Antallet af samtidige HTTP (S) anmodninger er begrænset.

De konfigurationer, der henvises til i denne artikel, er tilgængelige både fra enhedens webgrænseflade og i API'en. Kommandoer er tilgængelige via API'en. Læs artiklen Avancerede indstillinger for at få oplysninger om, hvordan du får adgang til webgrænsefladen og bruger API'en.

Liste over tilladte HTTP (S) servere

Systemadministratoren kan bruge disse kommandoer til at oprette og vedligeholde en liste over op til ti tilladte HTTP (S) servere (værter):

  • XCommand HttpClient Tillad værtsnavn Tilføj udtryk: <Regular expression that matches the host name or IP address of the HTTP (S) server>

  • XCommand HttpClient Tillad værtsnavn Ryd

  • XCommand HttpClient Tillad liste over værtsnavne

  • XCommand HttpClient Tillad værtsnavn Fjern Id: <id of an entry in the list>

Hvis listen indeholder serverposter, kan du kun sende HTTP (S) anmodninger til disse servere. Men hvis listen er tom, kan du sende anmodninger til enhver HTTP (S) server.

Kontrollen mod listen over tilladte servere udføres både ved brug af usikker (HTTP) og sikker (HTTPS) overførsel af data.

HTTPS uden certifikatvalidering

Når du sender anmodninger via HTTPS, kontrollerer enheden certifikatet for HTTPS-serveren som standard. Hvis HTTPS-servercertifikatet ikke viser sig at være gyldigt, får du vist en fejlmeddelelse. Enheden sender ingen data til den server.

Vi anbefaler at bruge HTTPS med certifikatvalidering. Hvis certifikatvalidering ikke er mulig, kan systemadministratoren indstille HttpClient > AllowInsecureHTTPS til Til ( XConfiguration HttpClient AllowInsecureHTTPS: Til). Dette tillader brug af HTTPS uden at validere certifikatet på serveren.

Afsendelse af HTTP (S) anmodninger

Når HTTP (S) -klientanmodningsfunktionen er aktiveret, kan du bruge følgende kommandoer til at sende anmodninger til en HTTP (S) -server. <method>er enten Post , P ut , Patch , G et eller Delete .

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

Tilføjelse af overskriftsfelter er valgfrit, og du kan tilføje op til 20 felter.

Parameteren AllowInsecureHTTPS har kun virkning, hvis systemadministratoren har tilladt brugen af HTTPS uden at validere certifikatet for serveren. Hvis det er tilfældet, kan du sende data til serveren uden at validere servercertifikatet, hvis parameteren er indstillet til True . Hvis du udelader parameteren eller indstiller den til Fal sk , sendes data ikke, hvis certifikatvalideringen mislykkes.

Parameteren RespoSenSizeLimit er den maksimale nyttelaststørrelse (bytes), som enheden accepterer som et svar fra serveren. Hvis svarets nyttelast er større end denne maksimale størrelse, returnerer kommandoen en statusfejl. Fejlmeddelelsen siger, at den maksimale filstørrelse overskrides. Dette har dog ingen effekt på serversiden; serveren har modtaget og behandlet anmodningen korrekt.

Brug parameteren ResultBody til at bestemme, hvordan du formaterer brødteksten i HTTP-svaret fra serveren i kommandoresultatet. Du har tre muligheder:

  • Ingen : Medtag ikke brødteksten af HTTP-svaret i kommandoresultatet.

  • Base64 : Base64 koder kroppen, før den inkluderes i resultatet.

  • klartekst : Medtag brødteksten i resultatet som almindelig tekst. Hvis svaret indeholder bogstaver, der ikke kan udskrives, returnerer kommandoen en statusfejl med en meddelelse om, at der blev fundet ikke-udskrivbare data.

Brug parameteren Timeout til at angive en timeout-periode (sekunder). Hvis anmodningen ikke gennemføres i denne periode, returnerer API'en en fejl.

Indtast nyttelasten (data) lige efter du har udstedt kommandoen. Alt, hvad du indtaster, herunder linjeskift, er en del af nyttelasten. Når du er færdig, skal du afslutte med et linjeskift („\ n“) og en separat linje, der kun indeholder en periode efterfulgt af et linjeskift (“. \ n“). Nu udføres kommandoen, og dataene sendes til serveren.

Eksempler

Meddelelsens brødtekst er JSON i begge disse eksempler. Det kan være et hvilket som helst format, afhængigt af det forventede format for den tjeneste, der modtager meddelelserne.

Eksempel 1: IoT-enhedskontrol ved hjælp af HTTP Post

Her er en makrofunktion, der tænder et lys, der er tilsluttet 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øre det samme på kommandolinjen ved hjælp af API:


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

Eksempel 2: Bogføring af data til et overvågningsværktøj ved hjælp af 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"} . 
   

Yderligere information

Du kan finde flere oplysninger om, hvordan du bruger HTTP-klientanmodninger, i Tilpas ningsvejledningen . Vælg den nyeste version.

Cisco support (TAC) understøtter ikke fejlfinding af tredjepartskode, herunder makroer. Tjek venligst https://roomos.cisco.com, hvis du har brug for hjælp til makroer og tredjepartskode.

Var denne artikel nyttig?
Var denne artikel nyttig?