Du kan sende data til en HTTPs-server ved hjælp af makroer, når du ønsker det. Du kan vælge, hvilke data du vil at sende, og strukturere dem, som du ønsker. Ved at gøre det på denne måde kan du tilpasse dataene til en tjeneste, der allerede er oprettet.

Sikkerhedsforanstaltninger:

  • HTTP(S)-klientanmodningsfunktionen er deaktiveret som standard. Systemadministratoren skal udtrykkeligt aktivere funktionen ved at angive HttpClient > -tilstand til Til (xConfiguration HttpClient-tilstand: Til).

  • Systemadministratoren kan forhindre brugen af HTTP ved at indstille HttpKlient > TilladHTTP til Falsk (xKonfiguration HttpKlient TilladHTTP: Falsk).

  • Systemadministratoren kan angive en liste over HTTP(S)-servere, som enheden har tilladelse til at sende data til. (Se kommandoerne xKommando HttpKlient Tillad værtsnavn.)

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

De konfigurationer, der er nævnt i denne artikel, er tilgængelige både fra webgrænsefladen på enheden og i API'en. Kommandoer er tilgængelige i API'en. Læs artiklen Avancerede indstillinger for at se, hvordan du kan få adgang til webgrænsefladen og bruge API'en.

Liste over tilladte HTTP(S)-servere

Systemadministratoren kan bruge disse kommandoer til at oprette og vedligeholde en liste med op til ti tilladte HTTPs-servere (værter):

  • xCommand HttpClient Tillad værtsnavn - Tilføj udtryk: <Almindeligt udtryk, der macher værtsnavnet eller IP-adressen for HTTP(S)-serveren>

  • xCommand HttpClient Tillad værtsnavn - ryd

  • xCommand HttpClient Tillad værtsnavn - liste

  • xCommand HttpClient Tillad værtsnavn - fjern id: <id for en post på listen>

Hvis listen ikke er tom, kan du kun sende HTTP(S)-anmodninger kun til servere på listen. Hvis listen er tom, kan du sende anmodninger til alle HTTP(S)-servere.

Der udføres en kontrol af listen over tilladte servere 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 der et HTTPS-servercertifikatet viser sig ikke at være gyldigt, får du en fejlmeddelelse. Enheden sender ikke data til den pågældende server.

Vi anbefaler brug af HTTPS med certifikatvalidering. Hvis certifikatvalidering ikke er muligt, kan systemadministratoren angive HttpClient > AllowInsecureHTTPS til Til (xConfiguration HttpClient AllowInsecureHTTPS: Til). Dette gør det muligt at bruge HTTPS uden at validere serverenens certifikat.

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: <metode> er enten post, put, ret, hent eller slet.

  • xKommando HttpKlient <Method> [TilladUsikkerHTTPS: <True/False>] [Header: <Header text>] [SvarStørrelseGrænse: <Maximum response size>] [ResultatBrødtekst: <None/PlainText/Base64>] [Timeout: <Timeout period>] URL: <URL to send the request to>

Det er valgfrit, om du vil tilføje felter i headeren, men du kan tilføje op til 20 felter.

Parameteren Den AllowInsecureHTTPS har kun en virkning, hvis systemadministratoren har tilladt HTTPS uden at validere serverens certifikat. Hvis det er tilfældet, kan du se data til serveren uden at validere servercertifikatet, hvis parameteren er indstillet til Sand. Hvis du udelader parameteren og indstiller den til Falsk, sendes data ikke, hvis certifikatvalideringen mislykkes.

SvarStørrelseGrænse-parameteren er den maksimale datastørrelse (byte), som enheden accepterer som et svar fra serveren. Hvis svardataene er større end denne maksimale størrelse, returnerer kommandoen en statusfejl. Fejlmeddelelsen angiver, at den maksimale filstørrelse er overskredet. Dette har imidlertid ingen indflydelse på serversiden. Serveren har modtaget og behandlet anmodningen korrekt.

Brug ResultatBrødtekst-parameteren til at bestemme, hvordan brødteksten i HTTP-svaret skal formateres fra serveren i kommandoresultatet. Der er tre muligheder:

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

  • Base64: Base64-kodning af brødteksten, før den medtages i resultatet.

  • AlmindeligTekst: 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 data, der ikke kan udskrives.

Brug Timeout-parameteren til at angive en timeoutperiode (sekunder). Hvis anmodningen ikke fuldføres i løbet af denne periode, returnerer API'et en fejl.

Angiv nyttelast (data), så snart du har udstedt kommandoen. Alt, som 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 et punktum 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 vilkårligt format, afhængigt af det forventede format for den tjeneste, der modtager meddelelserne.

Eksempel 1: Styring af IoT-enhed via HTTP Post

Her er en makrofunktion, der tændet et lys, der er fprbundet til en Philips Hue-bro:

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 brug af API'en:

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

Eksempel 2: Afsendelse af data til et overvågningsværktøj via 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 oplysninger

Få flere oplysninger om, hvordan du bruger HTTP-anmodninger i Tilpasningsvejledning. Vælg den nyeste version.

Cisco-support (TAC) hjælper ikke ved fejlfinding af tredjepartskode, herunder makroer. Spørg i Cisco Collaboration Developer-gruppen, hvis du har brug for hjælp til makroer og tredjepartskode. Der er også mange udvikler- og integratorressourcer på dette sted.