إرسال طلبات HTTP من أجهزة مجلس الإدارة والمكتب وسلسلة الغرف
list-menuهل لديك ملاحظات؟
تعمل هذه الميزة على تمكين أجهزة اللوحة أو المكتب أو سلسلة الغرف من بدء طلبات HTTP (S) وتلقيها باستخدام خادم HTTP (S). تدعم هذه الأجهزة طرقًا مثل النشر والطرح والتصحيح والحصول والحذف، مما يسمح بتفاعلات مختلفة مع الخادم.

باستخدام وحدات الماكرو، يمكنك إرسال البيانات إلى خادم HTTP (S) متى احتجت إلى ذلك. يمكنك التحكم في البيانات التي يتم إرسالها وكيفية تنظيمها، مما يجعل من السهل تكييف البيانات للاستخدام مع الخدمات الحالية.

التدابير الأمنية:

  • يتم تعطيل ميزة طلب عميل HTTP (S) افتراضيًا. يجب على مسؤول النظام تمكين الميزة بشكل صريح عن طريق تعيين HttpClient > الوضع إلى التشغيل ( xConfiguration HttpClient Mode: On).

  • يمكن لمسؤول النظام منع استخدام HTTP عن طريق تعيين HttpClient > AllowHttp إلى خطأ ( xConfiguration HttpClient AllowHttp: خطأ).

  • يمكن لمسؤول النظام تحديد قائمة بخوادم HTTP (S) التي يُسمح للجهاز بإرسال البيانات إليها. (راجع أوامر XCommand HttpClient للسماح باسم المضيف .)

  • عدد طلبات HTTP (S) المتزامنة محدود.

تتوفر التكوينات المشار إليها في هذه المقالة من واجهة الويب الخاصة بالجهاز وفي واجهة برمجة التطبيقات. الأوامر متاحة من خلال API. اقرأ مقالة الإعدادات المتقدمة للحصول على معلومات حول كيفية الوصول إلى واجهة الويب واستخدام API.

قائمة خوادم HTTP (S) المسموح بها

يمكن لمسؤول النظام استخدام هذه الأوامر لإعداد قائمة تضم ما يصل إلى عشرة خوادم HTTP (S) مسموح بها (المضيفين) والاحتفاظ بها:

  • يسمح الأمر HttpClient بإضافة تعبير لاسم المضيف: <Regular expression that matches the host name or IP address of the HTTP (S) server>

  • أمر HttpClient: السماح بمسح اسم المضيف

  • الأمر: HttpClient: السماح بقائمة أسماء المضيف

  • الأمر HttpClient: السماح باسم المضيف بإزالة المعرف: <id of an entry in the list>

إذا كانت القائمة تحتوي على إدخالات الخادم، يمكنك فقط إرسال طلبات HTTP (S) إلى تلك الخوادم. ومع ذلك، إذا كانت القائمة فارغة، يمكنك إرسال الطلبات إلى أي خادم HTTP (S).

يتم إجراء التحقق من قائمة الخوادم المسموح بها عند استخدام النقل غير الآمن (HTTP) والآمن (HTTPS) للبيانات.

HTTPS بدون التحقق من صحة الشهادة

عند إرسال الطلبات عبر HTTPS، يتحقق الجهاز من شهادة خادم HTTPS افتراضيًا. إذا لم يتم العثور على شهادة خادم HTTPS صالحة، فستظهر رسالة خطأ. لا يرسل الجهاز أي بيانات إلى هذا الخادم.

نوصي باستخدام HTTPS مع التحقق من صحة الشهادة. إذا لم يكن التحقق من صحة الشهادة ممكنًا، يمكن لمسؤول النظام تعيين HttpClient > AllowInSecureHTTPS إلى وضع التشغيل ( xConfiguration HttpClient AllowInSecureHTTPS: On). يسمح هذا باستخدام HTTPS دون التحقق من صحة شهادة الخادم.

إرسال طلبات HTTP (S)

بمجرد تمكين ميزة طلب عميل HTTP (S)، يمكنك استخدام الأوامر التالية لإرسال الطلبات إلى خادم HTTP (S). <method>هو إما النشر أو النشر أو التصحيح أو الحصول على أو الحذف .

  • xCommand HttpClient [السماح بـ HTTPS غير الآمن:] [العنوان:] [حد حجم الاستجابة:] [نص النتيجة:] [المهلة الزمنية:] عنوان URL: <Method><True/False> <Header text><Maximum response size><None/PlainText/Base64> <Timeout period><URL to send the request to>

تعد إضافة حقول العنوان أمرًا اختياريًا، ويمكنك إضافة ما يصل إلى 20 حقلاً.

لا تؤثر المعلمة AllowInsecureHttps إلا إذا سمح مسؤول النظام باستخدام HTTPS دون التحقق من صحة شهادة الخادم. إذا كان الأمر كذلك، يمكنك إرسال البيانات إلى الخادم دون التحقق من صحة شهادة الخادم إذا تم تعيين المعلمة إلى True . إذا تركت المعلمة أو قمت بتعيينها إلى False ، فلن يتم إرسال البيانات في حالة فشل التحقق من صحة الشهادة.

المعلمة ResposEnsizeLimit هي الحد الأقصى لحجم الحمولة (وحدات البايت) التي يقبلها الجهاز كاستجابة من الخادم. إذا كانت حمولة الاستجابة أكبر من هذا الحجم الأقصى، يقوم الأمر بإرجاع خطأ الحالة. تشير رسالة الخطأ إلى أنه تم تجاوز الحد الأقصى لحجم الملف. ومع ذلك، ليس لهذا أي تأثير على جانب الخادم؛ فقد تلقى الخادم الطلب وعالجه بشكل صحيح.

استخدم المعلمة ResultBody لتحديد كيفية تنسيق نص استجابة HTTP من الخادم في نتيجة الأمر. لديك ثلاثة خيارات:

  • لا شيء : لا تقم بتضمين نص استجابة HTTP في نتيجة الأمر.

  • Base64 : يقوم Base64 بتشفير الجسم قبل تضمينه في النتيجة.

  • نص عادي : قم بتضمين النص الأساسي في النتيجة كنص عادي. إذا كانت الاستجابة تحتوي على أحرف غير قابلة للطباعة، يقوم الأمر بإرجاع خطأ الحالة مع رسالة تفيد بأنه تمت مصادفة بيانات غير قابلة للطباعة.

استخدم معلمة Timeout لتعيين فترة المهلة (بالثواني). إذا لم يكتمل الطلب خلال هذه الفترة، تقوم واجهة برمجة التطبيقات بإرجاع خطأ.

أدخل الحمولة (البيانات) مباشرة بعد إصدار الأمر. أي شيء تدخله، بما في ذلك فواصل الأسطر، هو جزء من الحمولة. عند الانتهاء، قم بإنهاء فاصل الأسطر («\n») وسطر منفصل يحتوي على نقطة فقط متبوعة بفواصل الأسطر (». \n»). الآن يتم تنفيذ الأمر، ويتم إرسال البيانات إلى الخادم.

أمثلة

نص الرسالة هو JSON في كلا المثالين. يمكن أن يكون بأي تنسيق، اعتمادًا على التنسيق المتوقع للخدمة التي تتلقى الرسائل.

مثال 1: التحكم في جهاز إنترنت الأشياء باستخدام HTTP Post

في ما يلي وظيفة ماكرو تعمل على تشغيل ضوء متصل بجسر 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); } 
   

يمكنك القيام بنفس الشيء في سطر الأوامر باستخدام API:


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

مثال 2: نشر البيانات إلى أداة مراقبة باستخدام 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"} . 
   

مزيد من المعلومات

يمكنك العثور على مزيد من التفاصيل حول كيفية استخدام طلبات عميل HTTP في دليل التخصيص . اختر أحدث إصدار.

لا يدعم دعم Cisco (TAC) تصحيح أخطاء التعليمات البرمجية للجهات الخارجية، بما في ذلك وحدات الماكرو. يرجى التحقق من https://roomos.cisco.com إذا كنت بحاجة إلى مساعدة بشأن وحدات الماكرو ورمز الطرف الثالث.

هل كان هذا المقال مفيدًا؟
هل كان هذا المقال مفيدًا؟