تمكن هذه الميزة أجهزة مجلس الإدارة أو المكتب أو سلسلة الغرف من بدء طلبات HTTP وتلقيها باستخدام خادم HTTPs. تدعم هذه الأجهزة طرقا مثل Post و Put و Patch و Get و Delete ، مما يسمح بتفاعلات مختلفة مع الخادم.
باستخدام وحدات الماكرو ، يمكنك إرسال البيانات إلى خادم HTTPs متى احتجت إلى ذلك. يمكنك التحكم في البيانات التي يتم إرسالها وكيفية تنظيمها ، مما يجعل من السهل تكييف البيانات للاستخدام مع الخدمات الحالية.
تدابير أمنية:
-
يتم تعطيل ميزة طلب عميل HTTPs بشكل افتراضي. يجب على مسؤول النظام تمكين الميزة بشكل صريح من خلال تعيين
إلى On (xConfiguration HttpClient Mode: On
). -
يمكن لمسؤول النظام منع استخدام HTTP عن طريق تعيين HttpClient
False ( xConfiguration HttpClient AllowHTTP: False -
يمكن لمسؤول النظام تحديد قائمة بخوادم HTTPs التي يسمح للجهاز بإرسال البيانات إليها. (راجع
أوامر xCommand HttpClient السماح باسم
المضيف.) -
عدد طلبات HTTP المتزامنة محدود.
تتوفر التكوينات المشار إليها في هذه المقالة من واجهة الويب الخاصة بالجهاز وفي API. الأوامر متاحة من خلال API. اقرأ مقالة الإعدادات المتقدمة للحصول على معلومات حول كيفية الوصول إلى واجهة الويب واستخدام API.
قائمة خوادم HTTP المسموح بها
يمكن لمسؤول النظام استخدام هذه الأوامر لإعداد قائمة تضم ما يصل إلى عشرة خوادم HTTP مسموح بها (مضيفين) والاحتفاظ بها:
-
xCommand HttpClient السماح لاسم المضيف إضافة تعبير: <تعبير عادي يطابق اسم المضيف أو عنوان IP لخادم HTTPs>
-
xCommand HttpClient السماح لاسم المضيف مسح
-
xCommand HttpClient السماح بقائمة اسم المضيف
-
xCommand HttpClient السماح لاسم المضيف إزالة المعرف: <معرف إدخال في القائمة>
إذا كانت القائمة تحتوي على إدخالات خادم، يمكنك فقط إرسال طلبات HTTP إلى تلك الخوادم. ومع ذلك، إذا كانت القائمة فارغة، يمكنك إرسال طلبات إلى أي خادم HTTPs.
يتم إجراء التحقق من قائمة الخوادم المسموح بها عند استخدام نقل البيانات غير الآمن (HTTP) والآمن (HTTPS).
HTTPS بدون التحقق من صحة الشهادة
عند إرسال الطلبات عبر HTTPS، يتحقق الجهاز من شهادة خادم HTTPS افتراضيا. إذا لم يتم العثور على شهادة خادم HTTPS صالحة، فستتلقى رسالة خطأ. لا يرسل الجهاز أي بيانات إلى هذا الخادم.
نوصي باستخدام HTTPS مع التحقق من صحة الشهادة. إذا لم يكن التحقق من صحة الشهادة ممكنا، يمكن لمسؤول النظام تعيين HttpClient ).
هذا يسمح باستخدام HTTPS دون التحقق من صحة شهادة الخادم.
إرسال طلبات HTTP
بمجرد تمكين ميزة طلب عميل HTTPs، يمكنك استخدام الأوامر التالية لإرسال الطلبات إلى خادم HTTPs. <الطريقة>
هي إما نشر
أو وضع
أو تصحيح
أو الحصول
أو حذف
.
-
xCommand HttpClient <الطريقة> [AllowInsecureHTTPS: <صواب/خطأ>] [الرأس: <نص الرأس>] [ResponseSizeLimit: <الحد الأقصى لحجم الاستجابة>] [ResultBody: <بلا/نص عادي/Base64>] [المهلة: <فترة المهلة>] عنوان URL: <عنوان URL لإرسال الطلب إليه>
تعد إضافة حقول الرأس اختيارية، ويمكنك إضافة ما يصل إلى 20 حقلا.
يكون للمعلمة AllowInsecureHTTPS
تأثير فقط إذا سمح مسؤول النظام باستخدام HTTPS دون التحقق من صحة شهادة الخادم. إذا كان الأمر كذلك، يمكنك إرسال البيانات إلى الخادم دون التحقق من صحة شهادة الخادم إذا تم تعيين المعلمة إلى True
. إذا تركت المعلمة أو قمت بتعيينها على False
، فلن يتم إرسال البيانات إذا فشل التحقق من صحة الشهادة.
المعلمة ResposenSizeLimit
هي الحد الأقصى لحجم الحمولة (بايت) الذي يقبله الجهاز كاستجابة من الخادم. إذا كانت حمولة الاستجابة أكبر من هذا الحجم الأقصى، فسيقوم الأمر بإرجاع خطأ في الحالة. تشير رسالة الخطأ إلى أنه تم تجاوز الحد الأقصى لحجم الملف. ومع ذلك ، هذا ليس له أي تأثير على جانب الخادم ؛ تلقى الخادم الطلب وعالجه بشكل صحيح.
استخدم المعلمة ResultBody
لتحديد كيفية تنسيق النص الأساسي لاستجابة HTTP من الخادم في نتيجة الأمر. لديك ثلاثة خيارات:
-
-
Base64
: يقوم Base64 بترميز الجسم قبل تضمينه في النتيجة. -
نص عادي
: قم بتضمين النص الأساسي في النتيجة كنص عادي. إذا كانت الاستجابة تحتوي على أحرف غير قابلة للطباعة، يقوم الأمر بإرجاع خطأ في الحالة مع رسالة تفيد بأنه تمت مصادفة بيانات غير قابلة للطباعة.
استخدم معلمة المهلة
لتعيين فترة المهلة (بالثواني). إذا لم يكتمل الطلب خلال هذه الفترة، ترجع API خطأ.
أدخل الحمولة (البيانات) مباشرة بعد إصدار الأمر. أي شيء تدخله، بما في ذلك فواصل الأسطر، هو جزء من الحمولة. عند الانتهاء ، قم بإنهاء بفاصل أسطر ("\n") وسطر منفصل يحتوي فقط على نقطة متبوعة بفاصل أسطر (".\n"). الآن يتم تنفيذ الأمر ، ويتم إرسال البيانات إلى الخادم.
الأمثلة
نص الرسالة هو JSON في كلا المثالين. يمكن أن يكون أي تنسيق ، اعتمادا على التنسيق المتوقع للخدمة التي تتلقى الرسائل.
مثال 1: التحكم في جهاز إنترنت الأشياء باستخدام منشور HTTP
إليك وظيفة ماكرو تعمل على تشغيل ضوء متصل بجسر Philips Hue:
الدالة 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:
xcommand HttpClient وضع الرأس: "نوع المحتوى: التطبيق / json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on": true} .
مثال 2: نشر البيانات إلى أداة مراقبة باستخدام HTTP Post
xcommand HttpClient Post Header: "نوع المحتوى: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"أبلغ مستخدم عن مشكلة في هذا النظام","systemName":"BoardRoom 4th floor","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"} .
مزيد من المعلومات
يمكنك العثور على مزيد من التفاصيل حول كيفية استخدام طلبات عميل HTTP في دليل التخصيص. اختر أحدث إصدار.
لا يدعم دعم Cisco (TAC) تصحيح أخطاء التعليمات البرمجية لجهة خارجية، بما في ذلك وحدات الماكرو. يرجى التحقق من https://roomos.cisco.com إذا كنت بحاجة إلى مساعدة بشأن وحدات الماكرو ورمز الجهة الخارجية.