Trimiterea solicitărilor HTTP de pe dispozitivele Board, Desk și Room Series
list-menuFeedback?
Această caracteristică permite dispozitivelor Board, Desk sau Room Series să inițieze și să primească solicitări HTTP (S) cu un server HTTP (S). Aceste dispozitive acceptă metode precum Post, Put, Patch, Get și Delete, permițând diferite interacțiuni cu serverul.

Cu macrocomenzile, puteți trimite date către un server HTTP (S) ori de câte ori aveți nevoie. Aveți control asupra datelor trimise și a modului în care sunt organizate, facilitând adaptarea datelor pentru a fi utilizate cu serviciile existente.

Măsuri de securitate:

  • Funcția de solicitare a clientului HTTP (S) este dezactivată în mod implicit. Un administrator de sistem trebuie să activeze în mod explicit caracteristica setând HttpClient > Mod la Ac tivat ( XConfiguration HttpClient Mode: On).

  • Administratorul de sistem poate împiedica utilizarea HTTP setând HttpClient > Allow HTTP la False ( xConfiguration Http Client AllowHTTP: Fal se).

  • Administratorul de sistem poate specifica o listă de servere HTTP (S) la care dispozitivul are permisiunea de a trimite date. (Consultați comenzile XCommand HttpClient Permite numele gazdei .)

  • Numărul de solicitări HTTP (S) concurente este limitat.

Configurațiile menționate în acest articol sunt disponibile atât din interfața web a dispozitivului, cât și în API. Comenzile sunt disponibile prin API. Citiți articolul Setări avansate pentru informații despre cum să accesați interfața web și să utilizați API-ul.

Lista serverelor HTTP (S) permise

Administratorul de sistem poate utiliza aceste comenzi pentru a configura și menține o listă de până la zece servere HTTP (S) permise (gazde):

  • XCommand HttpClient Permite adăugarea expresiei de nume de gazdă: <Regular expression that matches the host name or IP address of the HTTP (S) server>

  • XCommand HttpClient Permite numele gazdei Șterge

  • XCommand HttpClient Permite lista de nume de gazdă

  • XCommand HttpClient Permite numele gazdei Eliminați ID-ul: <id of an entry in the list>

Dacă lista conține intrări de server, puteți trimite numai solicitări HTTP (S) către acele servere. Cu toate acestea, dacă lista este goală, puteți trimite solicitări către orice server HTTP (S).

Verificarea listei serverelor permise se efectuează atât atunci când se utilizează transferul nesigur (HTTP), cât și securizat (HTTPS) de date.

HTTPS fără validarea certificatului

Când trimiteți solicitări prin HTTPS, dispozitivul verifică în mod implicit certificatul serverului HTTPS. Dacă certificatul serverului HTTPS nu este găsit valid, primiți un mesaj de eroare. Dispozitivul nu trimite date către acel server.

Vă recomandăm să utilizați HTTPS cu validarea certificatului. Dacă validarea certificatului nu este posibilă, administratorul de sistem poate seta HttpClient > AllowInsecureHTTPS la Activat ( XConfiguration HttpClient AllowInsecureHTTPS: On). Acest lucru permite utilizarea HTTPS fără a valida certificatul serverului.

Trimiterea cererilor HTTP (S)

După ce caracteristica de solicitare client HTTP (S) este activată, puteți utiliza următoarele comenzi pentru a trimite solicitări către un server HTTP (S). <method>este fie Post , P ut , Patch , G et sau Delete .

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

Adăugarea câmpurilor antet este opțională și puteți adăuga până la 20 de câmpuri.

Parametrul AllowInsecureHTTPS are efect numai dacă administratorul de sistem a permis utilizarea HTTPS fără a valida certificatul serverului. Dacă da, puteți trimite date către server fără a valida certificatul serverului dacă parametrul este setat la True . Dacă lăsați parametrul afară sau îl setați la Fal se , datele nu sunt trimise dacă validarea certificatului eșuează.

Parametrul respoSenSizeLimit este dimensiunea maximă a sarcinii utile (octeți) pe care dispozitivul o acceptă ca răspuns de la server. Dacă sarcina utilă a răspunsului este mai mare decât această dimensiune maximă, comanda returnează o eroare de stare. Mesajul de eroare spune că dimensiunea maximă a fișierului este depășită. Cu toate acestea, acest lucru nu are niciun efect asupra serverului; serverul a primit și a procesat cererea în mod corespunzător.

Utilizați parametrul Result Body pentru a decide cum să formatați corpul răspunsului HTTP de la server în rezultatul comenzii. Aveți trei opțiuni:

  • Nici unul : Nu includeți corpul răspunsului HTTP în rezultatul comenzii.

  • Base64 : Base64 codifică corpul înainte de a-l include în rezultat.

  • PlainText : Includeți corpul în rezultat ca text simplu. Dacă răspunsul conține litere care nu pot fi imprimate, comanda returnează o eroare de stare cu un mesaj care spune că au fost întâlnite date neimprimabile.

Utilizați parametrul Timeout pentru a seta o perioadă de expirare (secunde). Dacă solicitarea nu este finalizată în această perioadă, API-ul returnează o eroare.

Introduceți sarcina utilă (date) imediat după ce ați emis comanda. Orice introduceţi, inclusiv întreruperile de linie, face parte din sarcina utilă. Când ați terminat, terminați cu o pauză de linie („\ n”) și o linie separată care conține doar o perioadă urmată de o pauză de linie (”. \ n”). Acum comanda este executată, iar datele sunt trimise către server.

Exemple

Corpul mesajului este JSON în ambele exemple. Ar putea fi orice format, în funcție de formatul așteptat al serviciului care primește mesajele.

Exemplul 1: controlul dispozitivului IoT utilizând HTTP Post

Iată o funcție macro care aprinde o lumină care este conectată la un pod Philips Hue:


     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); } 
   

Puteți face același lucru la linia de comandă utilizând API-ul:


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

Exemplul 2: Postarea datelor într-un instrument de monitorizare utilizând 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"} . 
   

Informații suplimentare

Găsiți mai multe detalii despre cum să utilizați solicitările clientului HTTP în Ghi dul de personalizare . Alegeți cea mai recentă versiune.

Asistența Cisco (TAC) nu acceptă depanarea codului terță parte, inclusiv macrocomenzile. Vă rugăm să verificați https://roomos.cisco.com dacă aveți nevoie de ajutor cu macrocomenzi și cod terță parte.

A fost util acest articol?
A fost util acest articol?