كيفية استقبال الرسائل القصيرة من بايثون
أبسط طريقة لاستقبال الرسائل القصيرة من بايثون هي استخدام واجهة برمجة تطبيقات الرسائل القصيرة المدمجة عبر HTTP/Rest من بوابة Ozeki للرسائل القصيرة. عند استخدام هذه الواجهة، ستستقبل رسائل SMS عن طريق إرسال طلب HTTP GET إلى بوابة الرسائل القصيرة. ستحتوي استجابة HTTP Post على الرسائل المنسقة بتنسيق JSON. ستقوم بوابة الرسائل القصيرة بإرسال رسائل SMS إلى تطبيق الكونسول الخاص ببايثون، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.
كود بايثون لاستقبال الرسائل القصيرة
يوضح مثال كود الرسائل القصيرة في بايثون أدناه كيف يمكنك استقبال الرسائل القصيرة باستخدام واجهة برمجة تطبيقات الرسائل القصيرة عبر HTTP Rest من بوابة Ozeki للرسائل القصيرة باستخدام مكتبة ozekilibsrest في بايثون. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
ReceiveSms.py
from ozekilibsrest import Configuration, MessageApi configuration = Configuration( username="http_user", password="qwe123", api_url="http://127.0.0.1:9509/api" ) api = MessageApi(configuration) results = api.download_incoming() print(results) for result in results.messages: print(result)
كيفية استخدام مثال الرسائل القصيرة في بايثون:
يمكن استخدام مثال الرسائل القصيرة هذا في أي تطبيق بايثون. لاستخدامه، يجب عليك تثبيت حزمة ozekilibsrest باستخدام الأمر pip install ozekilibsrest. بعد تثبيت الحزمة، يجب وضع التوجيه from ozekilibsrest import Configuration, Message, MessageApi في قسم الرأس من كود المصدر الخاص بك في بايثون. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة ozekilibsrest. يمكنك استخدام فئة Message لإنشاء الرسالة القصيرة. يمكنك استخدام فئة MessageApi لإرسال الرسالة القصيرة إلى بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تنزيل ReceiveSms.py
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تنزيل: ReceiveSms.py.zip (352B)
ما الموجود في مجلد ReceiveSms.py؟
يحتوي مجلد ReceiveSms.py على سكريبت مثال الرسائل القصيرة في بايثون الذي سيوضح لك كيفية استقبال رسائل SMS باستخدام بايثون.
كيفية تثبيت مكتبة ozekilibsrest
لتثبيت مكتبة ozekilibsrest، يجب عليك فتح موجه الأوامر واستخدام الأمر التالي. سيؤدي هذا إلى تثبيت مكتبة ozekilibsrest والتبعيات التي تحتاجها.
pip install ozekilibsrest
كيفية استقبال الرسائل القصيرة من بايثون (خطوات سريعة)
لاستقبال الرسائل القصيرة من بايثون:
- قم بتنزيل وتثبيت بايثون
- قم بتثبيت مكتبة ozekilibsrest باستخدام pip أو conda
- قم بتنزيل ملف ReceiveSms.py.zip
- استخرج ملف .zip من مجلد التنزيلات
- افتح ملف ReceiveSms.py في أي محرر نصوص
- شغّل بوابة Ozeki للرسائل القصيرة
- قم بإنشاء مستخدم HTTP API في Ozeki
- شغّل كود ReceiveSms.py باستخدام موجه الأوامر لإرسال رسائل SMS الاختبارية
- تحقق من صندوق المرسلة في بوابة Ozeki للرسائل القصيرة
تثبيت بوابة Ozeki للرسائل القصيرة وإنشاء مستخدم HTTP API
لتتمكن من إرسال الرسائل القصيرة من بايثون، تحتاج أولاً إلى تثبيت بوابة Ozeki للرسائل القصيرة. يمكن تثبيت بوابة الرسائل القصيرة على نفس الكمبيوتر الذي تقوم فيه بتطوير كود بايثون الخاص بك. بعد التثبيت، الخطوة التالية هي ربط بوابة Ozeki للرسائل القصيرة بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "http_user" وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود بايثون الخاص بك.
رابط HTTP API لإرسال الرسائل القصيرة من بايثون
لإرسال الرسائل القصيرة من بايثون، سيتعين على بايثون إصدار طلب HTTP إلى بوابة الرسائل القصيرة. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل القصيرة. إذا كانت بوابة Ozeki للرسائل القصيرة مثبتة على نفس الكمبيوتر الذي يعمل عليه تطبيق الرسائل القصيرة في بايثون، يمكن أن يكون هذا 127.0.0.1. إذا كانت مثبتة على كمبيوتر مختلف، فيجب أن يكون عنوان IP لذلك الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لإرسال الرسائل القصيرة من بايثون
لمصادقة عميل الرسائل القصيرة في بايثون، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في بايثون، يمكنك استخدام الكود التالي لإجراء هذا التشفير:
def create_authorization_header(username, password): username_password = f'{ username }:{ password }' return f'Basic { b64encode(username_password.encode()).decode() }'
على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، فستحصل على السلسلة المشفرة بـ base64 التالية: aHR0cF91c2VyOnF3ZTEyMw==.
رأس طلب HTTP لإرسال الرسائل القصيرة من بايثون
لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس التفويض.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لإرسال الرسائل القصيرة من بايثون
لإرسال الرسائل القصيرة، سيقوم تطبيق بايثون الخاص بك بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يحتوي على جزء رأس HTTP، في الرأس قمنا بتعريف المجلد الذي نريد تنزيل الرسائل منه، والإجراء. كما قمنا بإرسال كلمة المرور واسم المستخدم المشفرين بتنسيق Base64 لمصادقة الطلب.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Host: 127.0.0.1:9509 User-Agent: python-requests/2.26.0 Accept-Encoding: gzip, deflate Accept: */* Connection: keep-alive Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
استجابة HTTP المستلمة من مثال الرسائل القصيرة في بايثون
بمجرد أن يتلقى بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة HTTP. ستتضمن استجابة HTTP رمز حالة، للتعبير عن ما إذا كان طلب إرسال الرسالة القصيرة ناجحًا أم لا. كما ستعود أيضًا بهيكل مشفر بتنسيق JSON لتزويدك بتفاصيل مفيدة حول إرسال الرسالة.
HTTP/1.1 200 OK Transfer-Encoding: chunked Content-Type: application/json; charset=utf8 Last-Modified: Fri, 17 Sep 2021 08:36:07 GMT Server: 10/10.3.124 Microsoft-HTTPAPI/2.0 User-Agent: OZEKI 10.3.124 (www.myozeki.com) Access-Control-Allow-Origin: * Date: Fri, 17 Sep 2021 07:08:11 GMT { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "31bc2fe0-c2a6-4ebe-afcd-6bcd9ea341fb", "from_connection": "admin@localhost", "from_address": "", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 1!", "create_date": "2021-09-17 09:07:14", "valid_until": "2021-09-24 09:07:14", "time_to_send": "2021-09-17 09:07:14", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [] }, { "message_id": "b7b8d592-e182-4e96-a375-b4a6aa73e483", "from_connection": "admin@localhost", "from_address": "", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 2!", "create_date": "2021-09-17 09:07:23", "valid_until": "2021-09-24 09:07:23", "time_to_send": "2021-09-17 09:07:23", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [] }, { "message_id": "b0308970-a3c9-45c4-bf97-14a914a66f57", "from_connection": "admin@localhost", "from_address": "", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 3!", "create_date": "2021-09-17 09:07:33", "valid_until": "2021-09-24 09:07:33", "time_to_send": "2021-09-17 09:07:33", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [] } ] } }
مثال الرسائل القصيرة في بايثون: ReceiveSms.py
كيفية تنزيل مشروع ReceiveSMS.py (فيديو تعليمي)
في الفيديو التالي، ستتعلم كيفية استخدام مشروع ReceiveSms.py في بايثون. سيبدأ الفيديو بصفحة التنزيل وسيأخذك حتى لوحة محرر الأكواد المفتوحة. ستتعلم كيفية تنزيل وفتح ملف الكود. مدة الفيديو 54 ثانية فقط ولكنه يحتوي على جميع المعلومات الضرورية التي تحتاجها لاستخدام ملف الكود المثال بنجاح.
كود المثال أدناه هو جزء من مجلد ReceiveSms.py.zip.
كيفية استخدام المشروع (فيديو تعليمي)
في المقطع التالي، سترى كيفية تشغيل كود ReceiveSms.py في بايثون. سيبدأ الفيديو بالكود المفتوح وسيأخذك حتى علامة تبويب الأحداث مع سجل الرسالة المرسلة. سترى كيفية تشغيل الكود و ما حدث إذا تم تنفيذ الكود. مدة الفيديو أقل بقليل من دقيقة واحدة، ولكنه يحتوي على جميع المعلومات الضرورية لتشغيل المشروع.
الخاتمة
عرضت هذه المقالة خطوات استقبال الرسائل القصيرة في طلب واحد من بايثون.
بهذه المعرفة والأدوات المقدمة، يجب أن تكون قادرًا على الوصول إلى
عدة عملاء برمز واحد. يلعب بوابة رسائل Ozekي SMS دورًا مهمًا
في هذه العملية لأن هذا البرنامج ينظم تسليم الرسائل.
تعمل بوابة رسائل Ozekي SMS بجودة وأداء عاليين، مما يسمح لك
بإرسال ما يصل إلى 1000 رسالة قصيرة في الثانية.
واصل تعلمك في صفحات البرامج التعليمية لـ Ozekي، حيث يمكنك القراءة عن
مواضيع مثل
حذف الرسائل القصيرة في بايثون.
الآن كل ما عليك فعله هو تنزيل بوابة رسائل Ozekي SMS والبدء في العمل!
More information
- إرسال الرسائل القصيرة باستخدام Python مع واجهة برمجة تطبيقات REST HTTP (عينة كود)
- إرسال رسائل متعددة باستخدام Python مع واجهة برمجة تطبيقات REST HTTP (عينة كود)
- جدولة الرسائل القصيرة باستخدام Python مع واجهة برمجة تطبيقات REST HTTP (عينة كود)
- استقبال الرسائل القصيرة باستخدام Python مع واجهة برمجة تطبيقات REST HTTP (عينة كود)
- حذف الرسائل القصيرة باستخدام Python مع واجهة برمجة تطبيقات REST HTTP (عينة كود)
- كيفية تنزيل أحدث مكتبة رسائل قصيرة لـ Python من Github