Board, Desk ve Room Series cihazlarından HTTP istekleri gönderme
list-menuGeri Bildirim?
Bu özellik, Board, Desk veya Room Series cihazlarının HTTP (S) sunucusu ile HTTP (S) isteklerini başlatmasını ve almasını sağlar. Bu cihazlar, sunucuyla farklı etkileşimlere izin veren Post, Put, Patch, Get ve Delete gibi yöntemleri destekler.

Makrolarla, gerektiğinde bir HTTP (S) sunucusuna veri gönderebilirsiniz. Hangi verilerin gönderildiğini ve nasıl organize edildiğini kontrol edebilirsiniz, bu da verileri mevcut hizmetlerle kullanılmak üzere uyarlamayı kolaylaştırır.

Güvenlik önlemleri:

  • HTTP (S) istemci isteği özelliği varsayılan olarak devre dışı bırakılmıştır. Bir sistem yöneticisi, HttpClient > Mode ( XConfiguration HttpClient Mo du: Açık) olarak ayarlayarak özelliği açıkça etkinleştir melidir.

  • Sistem yöneticisi, HTTPClient > AllowHTTP değerini Yanlış olarak ayarlayarak HTTP kullanımını engelleyebilir ( XConfiguration Http Client AllowHTTP: Fal se).

  • Sistem yöneticisi, cihazın veri göndermesine izin verilen HTTP (S) sunucularının bir listesini belirleyebilir. (Bkz. XCommand HttpClient Ana Bilgisayar Adına İzin Ver komutları .)

  • Eşzamanlı HTTP (S) isteklerinin sayısı sınırlıdır.

Bu makalede atıfta bulunulan yapılandırmalar hem cihazın web arayüzünden hem de API'den edinilebilir. Komutlar API aracılığıyla kullanılabilir. Web arayüzüne nasıl erişileceği ve API'yi kullanma hakkında bilgi için Gelişmiş Ayarlar makal esini okuyun.

İzin Verilen HTTP (S) Sunucularının Listesi

Sistem yöneticisi, izin verilen on adede kadar HTTP (S) sunucusu (ana bilgisayar) listesini oluşturmak ve sürdürmek için bu komutları kullanabilir:

  • XCommand HttpClient Ana Bilgisayar Adı Ekleme İfadesine İzin Ver: <Regular expression that matches the host name or IP address of the HTTP (S) server>

  • XCommand HttpClient Ana Bilgisayar Adına İzin Ver Temizle

  • XCommand HttpClient Ana Bilgisayar Adı Listesine İzin Verme

  • XCommand HttpClient Ana Bilgisayar Adına İzin Ver Kimliği Kaldır: <id of an entry in the list>

Liste sunucu girişleri içeriyorsa, yalnızca bu sunuculara HTTP (S) istekleri gönderebilirsiniz. Ancak liste boşsa herhangi bir HTTP (S) sunucusuna istek gönderebilirsiniz.

İzin verilen sunucular listesine karşı kontrol, hem güvensiz (HTTP) hem de güvenli (HTTPS) veri aktarımı kullanılırken gerçekleştirilir.

Sertifika doğrulaması olmadan HTTPS

HTTPS üzerinden istek gönderirken, cihaz varsayılan olarak HTTPS sunucusunun sertifikasını kontrol eder. HTTPS sunucu sertifikasının geçerli olmadığı tespit edilirse bir hata iletisi alırsınız. Cihaz o sunucuya herhangi bir veri göndermiyor.

Sertifika doğrulama ile HTTPS kullanmanızı öneririz. Sertifika doğrulaması mümkün değilse, sistem yöneticisi HttpClient > AllowInsecureHTTPS değerini Açık olarak ayarlayabilir ( XConfiguration HttpClient AllowInsecureHTTPS: Açık). Bu, sunucunun sertifikasını doğrulamadan HTTPS kullanımına izin verir.

HTTP (S) istekleri gönderme

HTTP (S) istemci isteği özelliği etkinleştirildikten sonra, HTTP (S) sunucusuna istek göndermek için aşağıdaki komutları kullanabilirsiniz. <method>Gönderme , P ut, Y ama , Get veya Delete şeklindedir .

  • XCommand HttpClient [AllowInsecureHTTPS:] [Başlık:] [ResponseSizeLimit:] [ResultBody:] [Zaman Aşımı:] Url: <Method><True/False> <Header text><Maximum response size><None/PlainText/Base64> <Timeout period><URL to send the request to>

Başlık alanları eklemek isteğe bağlıdır ve en fazla 20 alan ekleyebilirsiniz.

AllowInsecureHTTPS parametresi yalnızca sistem yöneticisi sunucunun sertifikasını doğrulamadan HTTPS kullanımına izin verdiyse etki eder. Eğer öyleyse, parametre True olarak ayarlanmışsa sunucu sertifikasını doğrulamadan sunucuya veri gönderebilirsiniz. Parametreyi dışarıda bırakırsanız veya Yanlış olarak ayar larsanız, sertifika doğrulaması başarısız olursa veri gönderilmez.

RespoSenSizeLimit parametresi, cihazın sunucudan yanıt olarak kabul ettiği maksimum yük boyutudur (bayt). Yanıt yükü bu maksimum boyuttan büyükse, komut bir durum hatası döndürür. Hata mesajı, maksimum dosya boyutunun aşıldığını söylüyor. Ancak, bunun sunucu tarafında bir etkisi yoktur; sunucu isteği düzgün bir şekilde aldı ve işledi.

Komut sonucunda sunucu dan gelen HTTP yanıtının gövdesinin nasıl biçimlendirileceğine karar vermek için result Body parametresini kullanın. Üç seçeneğiniz var:

  • Y ok: HTTP yanıtının gövdesini komut sonucuna dahil etmeyin.

  • Base64 : Base64, sonuca dahil etmeden önce gövdeyi kodlar.

  • Düz Me tin: Gövdeyi sonuca düz metin olarak dahil edin. Yanıt yazdırılamayan harfler içeriyorsa komut, yazdırılamayan verilerle karşılaşıldığını belirten bir iletiyle birlikte bir durum hatası döndürür.

Zaman aşımı periyodu (saniye) ayarlamak için Zaman Aşımı parametresini kullanın. İstek bu süre içinde tamamlanmazsa, API bir hata döndürür.

Komutu verdikten hemen sonra yükü (veri) girin. Satır sonları da dahil olmak üzere girdiğiniz her şey yükün bir parçasıdır. İşiniz bittiğinde, bir satır sonu (“\n”) ve sadece bir nokta içeren ayrı bir satırla bitirin ve ardından bir satır sonu (”. \ n”). Şimdi komut yürütülür ve veriler sunucuya gönderilir.

Örnekler

Her iki örnekte de mesajın gövdesi JSON'dur. Mesajları alan hizmetin beklenen biçimine bağlı olarak herhangi bir format olabilir.

Örnek 1: HTTP Post kullanarak IoT cihaz kontrolü

İşte bir Philips Hue Köprüsüne bağlı bir ışığı açan bir makro işlevi:


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

API'yi kullanarak komut satırında aynısını yapabilirsiniz:


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

Örnek 2: HTTP Post kullanarak bir izleme aracına veri gönderme


     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"} . 
   

Daha Fazla Bilgi

Özel leştirme kılavuzunda HTTP istemci isteklerinin nasıl kullanılacağı hakkında daha fazla bilgi edinin . En son sürümü seçin.

Cisco desteği (TAC), makrolar da dahil olmak üzere üçüncü taraf kodlarının hata ayıklamasını desteklemez. Makrolar ve üçüncü taraf kodlarıyla ilgili yardıma ihtiyacınız varsa lütfen https://roomos.cisco.com adresini kontrol edin.

Bu makale yararlı oldu mu?
Bu makale yararlı oldu mu?