كيفية إنشاء الأجهزة والأهداف

تتحقق مراقبة HTTP/S من عنوان URL واحد للتأكد من توفره وأدائه والمحتوى المناسب والأخطاء. وهو يدعم جميع الأنواع الشائعة من الطلبات وملفات تعريف الارتباط وعمليات إرسال النماذج والرؤوس المخصصة والمواقع الآمنة بكلمة مرور (تفويض HTTP / S الأساسي بالإضافة إلى آليات تفويض ملفات تعريف الارتباط / البرنامج النصي) وعتبات المهلة.

تقوم مراقبة HTTP/S بالتحقق من صحة شهادات الأمان والتحقق من المرجع المصدق وإجراء عمليات التحقق من انتهاء صلاحية الشهادة. يمكن تكوينه لإرسال تذكيرات إليك عند اقتراب تاريخ انتهاء صلاحية الشهادة.

يمكنك تحويل معلمات طلب HTTP (S) إلى معلمات السياق لتمرير القيم، على سبيل المثال، استردادها من استجابة لطلب آخر داخل جهاز المراقبة. يمكنك إعداد معلمات السياق لعنوان URL والرؤوس ونص الطلب وإعداد البرامج النصية / نشرها. للحصول على التفاصيل، راجع كيفية استخدام معلمات السياق في طلبات HTTP (الطلبات).

استيراد بالجملة

لإنشاء مراقبة للعديد من الأجهزة بنقرة واحدة، اختر خيار الاستيراد المجمع الذي يتم توفيره لنوع مراقبة HTTP/S في الصفحة تحديد نوع مراقبة . لمزيد من التفاصيل، يرجى الاطلاع على الاستيراد المجمع | مراقبة صفحة الويب ، HTTP / S ، ومقالة أجهزة PING / ICMP من الويكي.

تكوين طلب

عنوان URL

أدخل عنوان URL للصفحة التي ترغب في تنفيذ المهمة عليها. يجب تنسيقه على هذا النحو: www.example.com. يمكنك تشغيل وضع إدخال سهل المرئي بالنقر فوق المبدل التفصيلي أعلى القسم.

SSL / فحص الشهادة

يعد فحص شهادة طبقة المقابس الآمنة SSL جانبا قياسيا من اختبارات HTTP (S).

تتوفر الخيارات الإضافية التالية:

  • السلطة: تتحقق مما إذا كانت سلسلة الشهادات تحتوي على شهادة جذر موثوق بها أم غير موثوق بها.
  • الاسم الشائع (CN): يتحقق من أن العنوان الذي تنتقل إليه يطابق شهادة العنوان التي تم توقيع العنوان عليها.
  • التاريخ: يتحقق من تاريخ انتهاء صلاحية الشهادة.
  • الإلغاء: للتحقق من أن سلسلة الثقة الخاصة بالشهادة لا تحتوي على شهادة تم إلغاؤها.
  • الاستخدام: يتحقق من سلسلة الشهادات بحثا عن الاستخدام غير السليم لشهادة وسيطة.
  • تذكير انتهاء الصلاحية بالأيام: تذكير يخطر (كخطأ) بانتهاء صلاحية الشهادة.
  • شهادة العميل: اسم شهادة العميل.

راجع أيضا: اسم المضيف المستهدف أو عنوان IP.

عتبة التحقق من صحة الوقت (بالثواني)

أدخل الحد الأقصى لعدد الثواني التي يجب أن ينتظرها النظام للحصول على استجابة من صفحة الويب قبل إنهاء المهمة وإرجاع خطأ.

الحد الأقصى لقيمة المهلة يقتصر على 70 ثانية. إذا لم يتم تعيين الحد ، تطبيق مهلة 70 ثانية الافتراضية على المهمة.

نوع الطلب

في الحقل “نوع الطلب”، يمكنك تحديد إحدى طرق HTTP الأكثر استخداما لإرسال طلبات المراقبة إلى صفحة ويب. إذا كنت بحاجة إلى إرسال حمولة مع طلبات HTTP، فقم بتوفيرها في الحقل المقابل (راجع فصل نص الطلب للحصول على التفاصيل). يمكن تحديد الحمولة وإرسالها مع جميع أنواع الطلبات باستثناء Trace (RFC2616).

عمليات إعادة توجيه عناوين URL

إذا تم تعيين الخيار متابعة عمليات إعادة التوجيه إلى نعم، فسيتبع النظام مسار عنوان URL الذي يتم إرساله مع استجابة 301 وسيعتبر كل عملية إعادة توجيه كطلب HTTP منفصل. يمكنك من اتباع سلسلة إعادة التوجيه الكاملة (جميع الروابط التي تتم إعادة توجيه الطلب من خلالها) في نتائج الاختبار ، بما في ذلك أوقات الاستجابة لكل من عنوان URL الأولي والردود اللاحقة.

نوصي بتنشيط خيار متابعة عمليات إعادة التوجيه إذا كنت بحاجة إلى اختبار ليس فقط عنوان URL الأولي، ولكن أيضا جميع عناوين URL في السلسلة. على سبيل المثال، قد يكون من المفيد إجراء فحص شهادة SSL لكل عنوان URL في سلسلة إعادة توجيه.

في الحالات التي تريد فيها اختبار عنوان URL أولي فقط، قم بتعطيل الخيار متابعة عمليات إعادة التوجيه .

لاحظ أنه يتم تعيين حد إعادة توجيه افتراضي عند 10 عمليات إعادة توجيه. إذا كنت تريد أن ينفذ النظام عددا معينا من عمليات إعادة التوجيه (أقل من 10)، فيمكنك تحديد عدد عناوين URL التي تريد اختبارها في سلسلة إعادة التوجيه في الحقل إعداد البرنامج النصي :

string url;
url = "http://wtatour.com/";
currentTask.TaskMaxRedirectAttempts = N;

حيث N هو عدد مواقع إعادة التوجيه التي نريد متابعتها. لمتابعة عدم وجود عمليات إعادة توجيه، ما عليك سوى تعيين عدد مواقع إعادة التوجيه إلى 0.

التحقق من صحة المحتوى

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

يمكنك إدخال سلاسل متعددة في حقول الكلمات الرئيسية. يمكن فصل القيم التي تدخلها بتعبيرات منطقية كما يلي:

{[("keyword1"&"keyword2")|!"keyword3"]}

أين:
{[ – بدء التعبير عن الكلمات الرئيسية;
]} – نهاية التعبير عن الكلمات الرئيسية؛
() – تجميع الأقواس؛
& – منطقي و;
| – منطقي أو؛
! – منطقي لا؛
“سلسلة” – كلمة رئيسية.

يجب أن يتضمن تعبير الكلمة الرئيسية الناجح أقواس البداية والنهاية على النحو التالي:

{["keyword"]}

المصادقة الأساسية

يستخدم نظام المصادقة الأساسية للسماح للمستخدمين بالوصول إلى المحتوى على بعض مواقع الويب. بمجرد تقديم بيانات اعتماد تسجيل الدخول ، سيتم تمريرها مع رأس الطلب إلى خادم الويب.

  • اسم المستخدم: يحتوي على اسم مستخدم لمصادقة الوصول الأساسية أو الخلاصة HTTP/S.
  • كلمة مرور المستخدم: تحتوي على كلمة مرور لمصادقة الوصول الأساسية أو الخلاصة ل HTTP/S.

لا تخلط بين المصادقة الأساسية وأنظمة المصادقة الأخرى مثل مصادقة الحامل التي تتضمن الرموز المميزة لحاملها وOAuth 2.0 التي تستخدم رموز الوصول.

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

رؤوس

يتيح الخيار إضافة أي رؤوس مخصصة إضافية. على سبيل المثال، يمكنك تحديد نوع MIME للبيانات المرسلة مع الطلب في رأس نوع المحتوى:

Content-Type: text/html

إذا لم يتم تحديد رأس نوع المحتوى للطلب، إرسال الطلب مع تطبيق نوع المحتوى الافتراضي /x-www-form-urlencoded.

The default User-Agent header is set to:

User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0; .NET CLR 1.1.4322; .NET CLR 1.0.3705; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) DMBrowser/2.1 (SV)

However, the user-agent string can be replaced with any other string. To do this, add a custom header with the name “user-agent” and the specific value needed.

نص الطلب

يسمح لك Dotcom-Monitor بإرسال الحمولات في طلبات HTTP (S) (باستثناء طلبات التتبع). يمكن إرسال المحتوى الموجود داخل نص طلب HTTP كبيانات “خام” (JSON وXML وما إلى ذلك) أو كمجموعة ثابتة لقيمة الاسم (بيانات النموذج).

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

لإرسال بيانات “خام” مع الطلب، مثل كائن JSON، أدخل حمولة JSON في حقل الإدخال. يمكنك أيضا تغيير نص الطلب ديناميكيا. على سبيل المثال، إذا كنت بحاجة إلى إرسال التاريخ والوقت الحاليين كجزء من طلب POST أو تمرير معرف الجلسة الحالي في حمولة JSON إلى خادم بعيد. يتيح Dotcom-Monitor تغيير حمولة طلب HTTP ديناميكيا باستخدام بناء جملة Razor وأقنعة البيانات.

  • مثل. نص JSON الديناميكي لطلبات نشر HTTP

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

    1. تسجيل الدخول
    2. تسجيل الوصول
    3. تقديم الطلب

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

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

    لتنفيذ هذا الاختبار ، نحتاج أولا إلى تكوين طلب تسجيل دخول باستخدام معلمات المصادقة الأساسية على خادم ويب تطبيق الويب. بعد ذلك ، نحتاج إلى تكوين طلب HTTP لتمرير وقت تسجيل الوصول الفعلي والمعرف الفريد العمومي الفريد إلى جانب نص JSON. على سبيل المثال، سندخل السلسلة التالية باستخدام بناء جملة Razor في نص JSON:

    { "CheckInTime": "@Model["CurrentTime"]", "GenGuid": "@Model["Guid"]" }

    حيث يشير @Model[“اسم المعلمة”<] إلى اسم> معلمة سياق ضروري في تعبير Razor.

    يجب أن نعلن عن معلمات السياق ونحدد كيفية معالجة بيانات النشر في حقل إعداد البرنامج النصي:

    context.Guid = Guid.NewGuid().ToString(); // uniq random string
    context.CurrentTime = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd\Thh:mm:ss") + ".0Z"; // get current time in UTC
    ProcessPostDataByRazor(currentTask); // the call to process the Post Data content with the Razor engine

    ستبدو نتيجة طلب HTTP مشابهة لهذا:

    03:15:23
    POST http://www.dotcom-monitor.com/CheckIn
    { "CheckInTime": "2021-03-30T08:15:22.0Z", "GenGuid": "5c5e3d23-66fd-49d0-bd57-62c516aea7e7" }

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

    { "OrderTime": "@Model["OrderTime"]",   "VIEWSTATE": "@Model["Session"]",  "ModelID": "2128506" }

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

    context.OrderTime = DateTime.Now.AddMinutes(3).ToUniversalTime().ToString("yyyy-MM-dd\Thh:mm:ss") + ".0Z"; // order time + 3 min
    context.Session = (Tasks["Login"] as Http).body["//INPUT[@ID='__VIEWSTATE']", "VALUE"]; // track state value from Login page 
    ProcessPostDataByRazor(currentTask);

    سيبدو طلب HTTP الناتج مشابها لهذا:

    03:15:45
    POST http://www.dotcom-monitor.com/Order
    { "OrderTime": "2021-03-30T08:18:45.0Z", "VIEWSTATE": "<Server Generated ViewState>", "ModelID": "2128506" }
                        

لمعرفة كيفية تكوين طلب HTTP باستخدام حمولة متغيرة ديناميكيا، راجع كيفية تغيير الحمولة الصافية ديناميكيا في طلب HTTP.

خيارات DNS

تتيح ميزة خيارات DNS للمستخدمين اختيار كيفية إجراء طلبات خادم اسم المجال (DNS) أثناء مهمة المراقبة.

لتحديد وضع حل أسماء المضيفين، في القسم وضع حل DNS ، حدد أحد الأوضاع المتوفرة. لمزيد من التفاصيل حول تكوين الميزة، راجع خيارات وضع DNS.

يسمح قسم مضيفات DNS المخصصة بإعداد تعيين عناوين IP لأسماء المضيفين. يتم دعم دقة DNS IPv6 و IPv4.

لتحديد التعيين، أدخل عنوان IP واسم المضيف في الحقول المقابلة.

امثله:

192.168.107.246 example.com user.example.com userauth.example.com tools.example.com
192.168.107.246 example.com
192.168.107.246 user.example.com
192.168.107.246 userauth.example.com

راجع أيضا: خيارات وضع DNS.

إعداد البرنامج النصي والبرنامج النصي اللاحق

يمكن أن تحتوي الحقول على رمز C # ، والذي يمكن استخدامه لبيانات POST أو GET أو URL محددة أو للتحقق من صحة الرؤوس المخصصة أو نشرها. يرجى الاطلاع على مقالة استخدام إعداد البرنامج النصي ونشر البرنامج النصي أو الاتصال بالدعم الفني للحصول على مزيد من التفاصيل حول الاستخدام.