Tämän toiminnon avulla board-, desk- tai huonesarjalaitteet voivat aloittaa ja vastaanottaa HTTP-pyyntöjä HTTP-palvelimella. Nämä laitteet tukevat menetelmiä, kuten Posti, Put,Paikantaminen, Get ja Delete, mikä mahdollistaa erilaiset vuorovaikutukset palvelimen kanssa.
Makrojen avulla voit lähettää tietoja HTTP-palvelimeen aina tarpeen mukaan. Voit hallita sitä, mitä tietoja lähetetään ja miten se on organisoitu, joten tietojen mukauttaminen nykyisiin palveluihin on helppoa.
Turvatoimet:
-
HTTPs-asiakaspyyntötoiminto on oletusarvoisesti poistettu käytöstä. Järjestelmänvalvojan on otettava toiminto nimenomaisesti käyttöön määrittämällä
On (xConfiguration HttpClient -tila: Käytössä
). -
Järjestelmänvalvoja voi estää HTTP:n käytön määrittämällä httpclient
epätosi ( xConfiguration HttpClient Allow URL: False).
-
Järjestelmänvalvoja voi määrittää luettelon HTTP-palvelimista, joille laite voi lähettää tietoja. (Lisätietoja on
kohdassa x Tunnisteet ja httpClient Salli isäntänimi -
komennot.) -
Samanaikaisten HTTP-pyyntöjen määrä on rajallinen.
Tässä artikkelissa tarkoitetut kokoonpanot ovat saatavilla sekä laitteen Web-käyttöliittymästä että API. Komennot ovat käytettävissä API. Lue Lisäasetukset-artikkeli , jossa on tietoja Web-käyttöliittymän käyttämisestä ja API.
Sallittujen HTTP-palvelinten luettelo
Järjestelmänvalvoja voi näiden komentojen avulla määrittää ja ylläpitää enintään kymmenen sallittua HTTP-palvelinta (isäntää):
-
xSeuraava ja httpclient-salli isäntänimen lisäysilmaisu: <Rekisteröintiilmaisu, joka vastaa HTTP-palvelimen isäntänimeä tai IP-osoitetta>
-
xPääte ja httpClient Salli isäntänimi tyhjennä
-
xPääte ja httpClient salli isäntänimiluettelo
-
xProtokolla ja HttpClient Salli isäntänimen poistaminen -tunnus: luettelon tietueen <tunnus>
Jos luettelo sisältää palvelinmerkintöjä, voit lähettää HTTP-pyyntöjä vain näille palvelimille. Jos luettelo on kuitenkin tyhjä, voit lähettää pyyntöjä mihin tahansa HTTP-palvelimeen.
Sallittujen palvelimien luetteloa vastaan tehty tarkistus suoritetaan sekä käytettäessä tietojen turvallista (HTTPS) siirtoa (HTTPS).
HTTPS ilman varmenteen vahvistusta
Kun pyyntöjä lähetetään HTTPS:n kautta, laite tarkistaa oletusarvoisesti HTTPS-palvelimen varmenteen. Jos HTTPS-palvelinvarmenteen ei löydy olevan kelvollinen, saat virheilmoituksen. Laite ei lähetä tietoja palvelimelle.
Suosittelemme, että käytät HTTPS-varmennetta. Jos varmenteen vahvistus ei ole mahdollista, järjestelmänvalvoja voi määrittää xConfiguration httpClient AllowInsecureCONFIGS: On
). Tämä mahdollistaa HTTPS:n käytön ilman palvelimen varmenteen tarkistamista.
HTTP-pyyntöjen lähettäminen
Kun HTTPs-asiakaspyyntötoiminto on käytössä, voit lähettää pyyntöjä HTTP-palvelimelle seuraavilla komennoilla. <method>
on joko Post,Put
, Catastrophe
, Get
tai Delete
.
-
xRiviand httpClient <Method> [AllowInsecureHIDS: <True/False>] [Otsikko: <Header-teksti>] [ResponseSizeMaxit: <Max vastauskoko>] [ResultBody: <None/PlainText/Base64>] [Aikakatkaisu: <Aikakatkaisuaika>] Url: <URL lähettää pyynnön>
Otsikkokenttien lisääminen on valinnaista, ja voit lisätä enintään 20 kenttää.
AllowInsecureHIDS-parametri
vaikuttaa vain, jos järjestelmänvalvoja on sallinut HTTPS:n käytön vahvistamatta palvelimen varmennetta. Jos haluat, voit lähettää tietoja palvelimeen tarkistamatta palvelinvarmennetta, jos parametriksi on valittu Tosi
. Jos jätät parametrin pois tai määrität sen arvoksi Epätosi
, tietoja ei lähetetä, jos varmenteen vahvistus epäonnistuu.
ResposenSizeMakit-parametri
on enimmäiskoko (tavuja), jonka laite hyväksyy vastaukseksi palvelimesta. Jos vastausten lataus on tätä enimmäiskokoa suurempi, komento palauttaa tilavirheen. Virhesanoman mukaan tiedoston enimmäiskoko on ylitetty. Tämä ei kuitenkaan vaikuta palvelinpuolelle. palvelin on vastaanottanut ja käsitellyt pyynnön oikein.
ResultBody-parametrin
avulla voit päättää, miten HTTP-vastauksen runko muotoillaan palvelimesta komentotuloksen avulla. Vaihtoehtoja on kolme:
-
Ei mitään
: Älä sisällytä HTTP-vastauksen leipätekstiä komentotulokseen. -
Base64
: Base64 koodaa rungon ennen sen sisällyttäminen tulokseen. -
PlainText
: Sisällytä leipäteksti tekstiin. Jos vastaus sisältää tulostumattomia kirjaimia, komento palauttaa tilavirheen, jossa sanotaan, että tulostumattomia tietoja havaittiin.
Määritä aikakatkaisujakso (sekunnit) aikakatkaisuparametrilla
. Jos pyyntöä ei täytetä tänä aikana, API palauttaa virheen.
Anna tieto (tiedot) heti komennon jälkeen. Kaikki, mihin osallistut, mukaan lukien linjakatkokset, on osa hyötykuormaa. Kun olet valmis, lopeta linjakatkos ("\n") ja erillinen linja, joka sisältää vain ajanjakson ja jonka jälkeen linjakatkos (".\n"). Nyt komento on suoritettu ja tiedot lähetetään palvelimelle.
Esimerkit
Viestin leipäteksti on JSON molemmissa esimerkeissä. Se voi olla mikä tahansa muoto viestien vastaanottavan palvelun odotetun muodon mukaan.
Esimerkki 1: IoT-laitteen hallinta käyttäen HTTP-postia
Tässä on makrotoiminto, joka kytkee päälle Philips Hue -sillalle yhdistetyn lampun:
toiminto hue_command(tiedot) { var url = 'http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state'; var-otsikot = 'Sisältötyyppi: sovellus/json'; var-komento = '{"on":true}'; xapi.command('HttpClient Put', { 'Url': URL, 'Otsikko': otsikot }, komento); }
Voit tehdä saman komentorivillä käyttämällä API:
xsourceand HttpClient Put Header: "Sisältötyyppi: sovellus/json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} .
Esimerkki 2: Tietojen lähettäminen seurantatyökaluun HTTP-viestin avulla
xsourceand HttpClient Post Header: "Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Viesti:Käyttäjä ilmoitti ongelmasta tässä järjestelmässä","systemName×BoardRoom 4th floor","softwareVersion~9.6.0","softwareReleaseDate}2018-12-13","videomonitors}Dual"} .
Lisätiedot
Lisätietoja HTTP-asiakaspyyntöjen käyttämisestä on mukautusoppaassa . Valitse uusin versio.
Ciscon tuki (TAC) ei tue kolmannen osapuolen koodin, makrojen mukaan lukien, virheenkorjausta. Valitse https://roomos.cisco.com , jos tarvitset apua makrojen ja kolmannen osapuolen koodin kanssa.