كيف يتم إعلامك عند تعطل موقعك باستخدام Geekflare API؟
نشرت: 2021-08-22يحاول المستخدمون الوصول إلى موقعك ، هل تعلم ماذا حدث؟ لا تظهر. هناك بعض الأخطاء التي لم تعرفها من قبل. يشعر المستخدمون بالإحباط ويغادرون موقعك. لذلك ، فقدت بعض المستخدمين المخلصين معها.
كيفية حل هذه المشكلة؟ كيف تتعرف على الموقع قبل أن يعثر عليه المستخدمون لديك؟
هناك طريقتان محتملتان:
إذا كنت لا تمانع في إنفاق بضعة دولارات ، فيمكنك البحث عن حل مراقبة مثل StatusCake أو غيرها من الحلول المذكورة هنا.
ومع ذلك ، إذا كنت مطورًا أو لست مستعدًا للإنفاق شهريًا ، فيمكنك الاستفادة من Geekflare API - Is Site Up؟
هل الموقع جاهز؟ تتحقق واجهة برمجة التطبيقات (API) مما إذا كان الموقع أعلى أو أسفل من مواقع مختلفة.
دعني أريك كود Python الذي يعلمك على الفور عندما يتعطل موقعك عبر Gmail .
لنبدأ باستكشاف Is Site Up؟ API.
هل الموقع جاهز؟ API
قبل التحقق من واجهة برمجة التطبيقات ، نحتاج إلى تثبيت حزمة تسمى طلبات للعمل مع واجهات برمجة التطبيقات في بايثون. لكن ليس من الضروري استخدام بايثون فقط. يمكنك استخدام لغتك المفضلة. ولكن تأكد من إعداد الأشياء المطلوبة لتقديم طلب API.
لذلك ، بالنسبة لأولئك الذين يستخدمون Python ، قم بتثبيت حزمة الطلبات باستخدام pip install requests
أكمل الإعداد للغات أخرى (إذا اخترت غير Python) وتابع إلى الخطوات التالية.
الآن ، انتقل إلى صفحة Geekflare API.
يمكنك العثور على أنواع مختلفة من واجهات برمجة التطبيقات ، بما في ذلك هل Site Up؟ API ، الذي نحن مهتمون به لهذه المقالة. لاستخدام Geekflare APIs ، نحتاج إلى مفتاح API يمكننا الحصول عليه من خلال الاشتراك في Geekflare API.
انقر فوق الزر تسجيل مجاني في العنوان وأنشئ حسابًا في Geeflare API.
بمجرد إنشاء حسابك ، ستتم إعادة توجيهك إلى لوحة تحكم Geekflare API. في لوحة القيادة ، ستجد مفتاح API وتفاصيل أخرى مثل بريدك الإلكتروني ، الخطة النشطة ، إلخ .. ،
يمكنك نسخ مفتاح API. الآن ، دعنا نتحقق من وثائق Is Site Up API. انقر على أيقونة ملفك الشخصي والوثائق.
سيعيد توجيهك إلى وثائق Geeflare API.
سوف تجد وثائق API الخاصة بحالة الموقع (Is Site Up؟) هنا. إذهب إليها.
سوف تحصل على استخدام API على الجانب الأيمن. حدد Python من قسم Code Snippets على الجانب الأيمن. اختر لغتك المفضلة إذا كنت لا تستخدم بايثون.
سوف تحصل على رمز استدعاء Is Site Up؟ API. دعنا نعدلها قليلاً مما يساعدنا على إضافة المزيد من التعليمات البرمجية لاحقًا بسهولة. ألق نظرة على الكود المعدل في بايثون.
import requests import json API_URL = "https://api.geekflare.com/up" def make_api_request(): headers = { 'x-api-key': 'YOUR-API-KEY', 'Content-Type': 'application/json' } payload = json.dumps({"url": "https://geekflare.com"}) response = requests.request("POST", API_URL, data=payload, headers=headers) return response.json() if __name__ == '__main__': data = make_api_request() print(data)
استبدل YOUR-API-KEY بمفتاح API الخاص بك من لوحة معلومات Geekflare API. سيكون مختلفًا لكل مستخدم. انسخ مفتاح API من لوحة القيادة وأضفه إلى الكود أعلاه
متعدد المواقع
يتحقق الكود أعلاه مما إذا كان الموقع يعمل أم لا من مكان واحد (نيويورك ، الولايات المتحدة الأمريكية). ولكن يمكننا اختباره من موقع مختلف باستخدام proxyCountry في نص الطلب.
المواقع الأخرى المتاحة هي إنجلترا (لندن) وسنغافورة. يمكننا تمرير بيانات proxyCountry مع عنوان URL الخاص بالموقع على النحو التالي.
{ "proxyCountry": "uk", "url": "geekflare.com" }
يمكنك تمرير أي موقع تفضله من المواقع المتاحة هنا.
لقد أكملنا الكود لتقديم طلب API يقوم بجلب البيانات حول ما إذا كان الموقع يعمل أم لا. الآن ، حان الوقت لكتابة المزيد من التعليمات البرمجية التي ترسل البريد عندما يكون الموقع معطلاً. لنذهب.
تلقي البريد الإلكتروني عندما يكون الموقع معطلاً
يمكنك العثور على البرنامج التعليمي المفصل حول كيفية إرسال رسائل البريد الإلكتروني من خلال Gmail في Python أو استخدام الكود التالي ، والذي يستخدم حزمة تسمى yagmail مصممة خصيصًا لإرسال رسائل البريد الإلكتروني من Gmail .
قبل إرسال بريد عبر حساب Gmail الخاص بك ، يتعين علينا تشغيل خيارات السماح بالتطبيقات الأقل أمانًا . يمكنك تشغيله هنا.
دعنا نرى الكود.
def send_mail(): gmail = yagmail.SMTP("gmail", "password") receiver = "[email protected]" subject = "Testing Subject" body = "This is a testing mail" gmail.send( to=receiver, subject=subject, contents=body, )
يمكنك العثور على البرنامج التعليمي الكامل لبرنامج yagmail هنا.
الآن ، لدينا رمز لطلبات API وإرسال البريد. خطوتنا التالية هي استدعاء send_mail كلما تلقينا حالة سيئة من طلب واجهة برمجة التطبيقات.
إذن ، كيف نعرف أن موقعنا معطل أم لا؟ عندما نطلب Is Site Up؟ API ، وسوف تستجيب مع بعض البيانات على النحو التالي.
{ "timestamp": 1671545622213, "apiStatus": "success", "apiCode": 200, "message": "Site is up.", "meta": { "url": "https://geekflare.com", "proxyCountry": "United Kingdom", "followRedirect": false, "test": { "id": "riah3dvi04ngaa1jw1b75smiibrus2a7" } }, "data": { "statusCode": 200, "reasonPhrase": "OK" } }
ستجد مفتاحًا يسمى رسالة فيه. تخبرنا قيمة الرسالة الرئيسية ما إذا كان الموقع متجهًا نحو الأعلى أم لا. لذلك يمكن أن يكون نوعان من الرسائل على النحو التالي.
- انتهى الموقع.
- الموقع معطل
أعتقد أنك حصلت عليه الآن. لذلك ، سوف نرسل البريد عندما نتلقى الرسالة " الموقع معطل". سيبدو الرمز النهائي على النحو التالي.
import requests import json import yagmail API_URL = "https://api.geekflare.com/up" def make_api_request(): headers = { 'x-api-key': 'YOUR-API-KEY', 'Content-Type': 'application/json' } payload = json.dumps({ "url": "https://geekflare.com", "followRedirect": True, "proxyCountry": "uk" }) response = requests.request("POST", API_URL, data=payload, headers=headers) return response.json() def send_mail(content): gmail = yagmail.SMTP("gmail", "password") receiver = "[email protected]" subject = "Your Site is Down" gmail.send( to=receiver, subject=subject, contents=content, ) if __name__ == '__main__': data = make_api_request() message = data['message'] ## seding the mail if message == 'Site is down': ## extracting the location and error location = data['meta']['proxyCountry'] mail_content = "Your site is down due to unexpected error. See the useful data to resolve errors below.nn" if location: mail_content += f"{location}" mail_content += f"{data['data']['reasonPhrase']}nn" mail_content += "Check the error and resolve it as soon as possible." send_mail(mail_content)
يمكنك تحديث محتوى البريد كما تفضل. لقد أكملنا إرسال البريد كلما تعطل موقعنا.
إلا أنه لا زالت هناك مشكلة.
يتعين علينا تنفيذ الكود الخاص بنا للتحقق مما إذا كان موقعنا يعمل أو معطل. كم مرة نقوم بتشغيلها؟ نعم ، هذا يعتمد على ما تفضله. لنفترض أنه يتعين علينا التحقق من ذلك كل ساعة.
يمكننا فتح Terminal أو سطر الأوامر وتنفيذ الكود الخاص بنا كل ساعة. لكنها عملية متكررة ومملة. وأحيانًا يمكننا أن ننسى التحقق من ذلك. لذلك ، نحتاج إلى تنفيذ الكود تلقائيًا كل ساعة.
هنا يمكننا استخدام cron لتنفيذ الكود الخاص بنا كل ساعة تلقائيًا. دعونا نرى كيفية إعداده.
إعداد Cron
دعنا نرى خطوات إعداد cron على نظام تشغيل قائم على UNIX.
- افتح المحطة.
- قم بتشغيل الأمر
crontab -e
الذي يفتح ملف crontab في المحطة. - اضغط على المفتاح
i
للدخول إلى وضع INSERT. - الآن ، أضف نمط cron ودليل Python ودليل ملف الكود الخاص بنا. ترى المثال أدناه.
0 * * * * /usr/bin/python3 /home/sample.py
لقد قمنا بتعيين النمط لتنفيذ الكود كل ساعة. ولكن قد تحتاج إلى ضبطه على كل دقيقة بناءً على المتطلبات. لذلك ، يمكنك استخدام Crontab Guru أو أدوات cron الأخرى لإنشاء نمط cron للجدول.
هذا هو. لقد أكملنا الإعداد ليتم إعلامنا عند تعطل الموقع.
استنتاج
استخدم cron لجدولة البرنامج النصي ليتم تشغيله بشكل دوري على خادمك السحابي الذي يعمل على مدار الساعة طوال أيام الأسبوع للحصول على إشعار عبر البريد الإلكتروني عند تعطل الموقع. توفر الأتمتة الكثير من الوقت وتعمل لصالحنا. لذا ، استخدمها كما فعلنا في هذه المقالة.
مراقبة سعيدة