Bu özellik, Board, Desk veya Room Series aygıtlarının bir HTTPs sunucusuyla HTTPs istekleri başlatmasına ve almasına olanak verir. Bu aygıtlar, sunucuyla farklı etkileşimlere olanak veren Gönder, Koy, Yaman, Al ve Sil gibi yöntemleri destekler.
Makrolar ile, gerektiğinde bir HTTPs sunucusuna veri gönderebilirsiniz. Hangi verilerin gönderildiğini ve nasıl düzenlendiğinden siz sorumlu olursunuz ve bu da verileri mevcut hizmetlerle kullanmak üzere basit hale getirir.
Güvenlik önlemleri:
-
HTTP(S) istemci isteği özelliği, varsayılan olarak devre dışıdır. Bir sistem yöneticisinin HttpClient
( xConfiguration HttpClient Mode: On) olarak ayarlayarak
özelliği özellikle etkinleştirmesi gerekir. -
Sistem yöneticisi HttpClient
( xConfiguration HttpClient AllowHTTP: False) olarak ayarlayarak
HTTP kullanımını engelleyebilir. -
Sistem yöneticisi, cihazın veri göndermeye izinli olduğu bir HTTP(S) sunucuları listesi belirleyebilir. (Bkz.
xCommand HttpClient Ana Bilgisayar Adına İzin Verme
komutları.) -
Eşzamanlı HTTP(S) isteklerinin sayısı sınırlıdır.
Bu makalede belirtilen yapılandırmalar, hem aygıtın web arabiriminden hem de API kullanılabilir. Komutlar API kullanılabilir. Web arabirimine erişim ve API kullanımına dair bilgi edinmek için Gelişmiş Ayarlar makalesini okuyun.
İzin Verilen HTTP(S) Sunucuları Listesi
Sistem yöneticisi bu komutları izin verilen en fazla on HTTP(S) sunucusunu (ana bilgisayarlar) kurmak ve sürdürmek için kullanabilir:
-
xCommand HttpClient Ana Bilgisayar Adına İzin Ver İfade Ekle: <Ana bilgisayar adıyla eşleşen normal ifade veya HTTP(S) sunucusunun IP adresi>
-
xCommand HttpClientAna Bilgisayar Adına İzin Ver Temizle
-
xCommand HttpClientAna Bilgisayar Adına İzin Ver Listesi
-
xCommand HttpClientAna Bilgisayar Adına İzin Ver Kimliği Kaldır <listedeki bir girişin kimliği>
Listede sunucu girişleri varsa, yalnızca bu sunuculara HTTP istekleri gönderebilirsiniz. Ancak, liste boşsa, istekleri herhangi bir HTTPs sunucusuna gönderebilirsiniz.
İzin verilen sunucular listesi kontrolü, hem güvensiz (HTTP) hem de güenli (HTTPS) veri transferi kullanılırken yapılır.
Sertifika doğrulaması olmayan HTTPS
HTTPS üzerinden istekler gönderirken cihaz varsayılan olarak HTTPS sunucusunun sertifikasını kontrol eder. HTTPS sunucusu sertifikasının geçerli olmadığı görüşürse, bir hata mesajı alırsınız. cihaz bu sunucuya hiçbir veri göndermez.
HTTPS'yi sertifika doğrulaması ile kullanmanızı öneririz. Sertifika doğrulaması mümkün değilse, sistem yöneticisi HttpClient>AllowInsecureHTTPS
Bu, sunucu sertifikasını doğrulamadan HTTPS kullanımına izin verir.
HTTP istekleri gönderiliyor
HTTP(S) istemci isteği özelliği etkinleştirildiğinde, aşağıdaki komutları bir HTTP(S) sunucusuna istek göndermek için kullanabilirsiniz: <method>
; Post
, Put
, Patch
, Get
veya Delete
'dir.
-
xCommand HttpClient <Method> [AllowInsecureHTTPS: <True/False>] [Üstbilgi: <Header metni>] [ResponseSizeLimit: <Maxim yanıt boyutu>] [ResultMicrosoft: <None/PlainText/Base64>] [Zaman Aşımı: <Timeout süresi>] Url: isteğin gönderilecek <URL>
Üstbilgi alanları eklemek isteğe bağlıdır ve en fazla 20 alan ekleyebilirsiniz.
GüvensizHTTPS'yeİzinVer
parametresi, yalnızca sistem yöneticisinin HTTPS'nin sunucu sertifikası doğrulanmadan kullanımına izin vermesi durumunda etkili olur. İzin verildiyse, parametrenin Doğru
olarak ayarlanması durumunda sunucu sertifikasını doğrulamadan sunucuya veri gönderebilirsiniz. Parametreyi dışarıda bırakır veya Yanlış
olarak ayarlarsanız, sertifika doğrulamasının başarısız olması durumunda veri gönderilmez.
ResposenSizeLimit
parametresi, cihazın sunucudan bir yanıt olarak kabul ettiği maksimum yük boyutudur (bayt). Yanıt yükü bu maksimum boyuttan daha büyükse, komut, bir durum hatası döndürür. Hata mesajında maksimum dosya boyutunun aşıldığı belirtilir. Ancak, bunun sunucu tarafında hiçbir etkisi yoktur; sunucu, isteği doğru şekilde alıp işlemiştir.
Komut sonucunda sunucudan gelen HTTP yanıtı gövdesinin nasıl biçimlendirileceğine karar vermek için ResultBody
parametresini kullanın. Üç seçeneğiniz vardır:
-
None
: HTTP yanıtının gövdesi komut sonucuna eklenmez. -
Base64
: Base64, gövdeyi sonuca eklemeden önce kodlar. -
PlainText
: Gövde, sonucun içine düz metin olarak eklenir. Yanıtta yazdırılamayan harfler varsa, komut yazdırılamayan verilerle karşılaşıldığını belirten bir mesaj ile durum hatası döndürür.
Zaman aşımı süresini (saniye) ayarlamak için Timeout
parametresini kullanın. Bu süre içinde istek tamamlanmazsa, API bir hata döndürür.
Komutu verdikten hemen sonra veri yükünü (veriyi) girin. Satır sonu da dahil, girdiğiniz her şey veri yükünün bir parçasıdır. Bitirdiğinizde, bir satır sonu (“\n”) ve yalnızca ardından bir satır sonu gelen bir nokta içeren ayrı bir satır (“.\n”) ile sonlandırın. Böylece komut çalıştırılır ve veri sunucuya gönderilir.
Örnekler
Mesaj ana metni her iki örnekte de JSON'dır. Mesajları alan hizmetin beklenen biçimine bağlı olarak,, bu herhangi bir biçimde olabilir.
Örnek 1: HTTP Post kullanarak IOT cihaz denetimi
İşte, Philps Hue Bridge'e bağlı bir ışığı açan bir makro işlevi:
işlev hue_command(veri) { var url = 'http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state'; var üstbilgileri = 'content-Type: application/json'; var command = '{"on":true}'; xapi.command('HttpClient Put', { 'Url': url, 'Üstbilgi': üstbilgiler }, komut); }
API kullanarak aynısını komut satırında da yapailirsiniz.
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 verileri izleme aracına gönderme
xcommand HttpClient Post Header: "Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"Bir kullanıcı bu sistemde sorun olduğunu bildirdi","systemName":"BoardRoom 4. kat","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"} .
Ek Bilgiler
Özelleştirme kılavuzu içerisinde HTTP istemci isteklerinin nasıl kullanılacağına dair daha fazla bilgi bulabilirsiniz. En güncel sürümü seçin.
Cisco desteği (TAC) makrolar da dahil, üçüncü taraf kodunda hata ayıklamayı desteklemez. Makrolar ve üçüncü taraf kodu ile ilgili yardıma ihtiyacınız varsa lütfen https://roomos.cisco.com onay kutusunu işaretleyin .