كيفية حذف رسالة SMS في Python flask
أبسط طريقة لحذف رسائل SMS من Python هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في Ozeki SMS Gateway. عند استخدام هذه الواجهة، ستقوم بحذف رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على معرفات الرسائل التي نريد حذفها، مُنسقة بتنسيق JSON. ستعيد بوابة الرسائل معرفات الرسائل التي تم حذفها بنجاح، كما سترد باستجابة HTTP 200 OK لطلبك.
كود Python لحذف رسالة SMS
يوضح مثال كود Python لرسائل SMS أدناه كيفية حذف رسائل SMS باستخدام واجهة برمجة تطبيقات HTTP Rest لـ Ozeki SMS Gateway باستخدام مكتبة ozekilibsrest في Python. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
DeleteSms.py
from flask import Flask, render_template, request from ozekilibsrest import Configuration, Message, MessageApi, Folder app = Flask(__name__) configuration = Configuration( username="http_user", password="qwe123", api_url="http://127.0.0.1:9509/api" ) api = MessageApi(configuration) logs = [] @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': message = Message(message_id=request.form['message_id']) if request.form['folder'] == 'inbox': log = api.delete(Folder.Inbox, message) elif request.form['folder'] == 'outbox': log = api.delete(Folder.Outbox, message) elif request.form['folder'] == 'sent': log = api.delete(Folder.Sent, message) elif request.form['folder'] == 'notsent': log = api.delete(Folder.NotSent, message) else: log = api.delete(Folder.Deleted, message) logs.append(log) return render_template('DeleteSms.html', logs=logs) if __name__ == '__main__': app.run()
DeleteSms.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>حذف رسائل SMS باستخدام Ozeki SMS Gateway</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> </head> <body> <form action="/" method="POST" class="form-group" style="width: 40%; margin-top: 10vh; margin-left: 30%; display: flex; flex-direction: column; height: 30vh; justify-content: space-evenly;"> <b>المعرف:</b> <input class="form-control" type="text" name="message_id" placeholder="ff44c9fb-1494-4457-8f59-5915dc16500d"> <b>المجلد:</b> <select class="form-control" name="folder"> <option value="inbox">صندوق الوارد</option> <option value="outbox">صندوق الصادر</option> <option value="sent">المرسلة</option> <option value="notsent">غير المرسلة</option> <option value="deleted">المحذوفة</option> </select> <input class="btn btn-primary" style="font-weight: 600;" type="submit" name="submit" value="حذف"> </form> <ul style="width: 40%; margin-left: 30%; height: 40vh; overflow-y: scroll;" class="list-group card"> <li class="list-group-item card"><b>السجلات:</b></li> {% if logs %} {% for log in logs %} <li class="list-group-item">{{ log }}</li> {% endfor %} {% endif %} </ul> </body> </html>
كيفية استخدام مثال Python لرسائل SMS:
يمكن استخدام هذا المثال في أي تطبيق Python flask. لاستخدامه، يجب تثبيت حزمة ozekilibsrest باستخدام الأمر pip install ozekilibsrest. بعد تثبيت الحزمة، يجب إضافة التوجيه from ozekilibsrest import Configuration, Message, MessageApi إلى قسم الرأس في كود Python الخاص بك. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة ozekilibsrest. يمكنك استخدام فئة Message لإنشاء رسالة SMS. يمكنك استخدام فئة MessageApi لإرسال الرسالة إلى بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل DeleteSms.py
يمكن تنزيل الكود المصدري الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: DeleteSms.py.zip (1.57 كيلوبايت)
ما الموجود في مجلد DeleteSms.py؟
يحتوي مجلد DeleteSms.py على سكريبت مثال Python flask لرسائل SMS الذي سيوضح لك كيفية حذف رسائل SMS باستخدام Python.
كيفية تثبيت مكتبة ozekilibsrest
لتثبيت مكتبة ozekilibsrest، يجب فتح موجه الأوامر واستخدام الأمر التالي. سيؤدي هذا إلى تثبيت مكتبة ozekilibsrest والتبعيات التي تحتاجها.
pip install ozekilibsrest
لتثبيت مكتبة فلاسك، يجب عليك فتح موجه الأوامر واستخدام الأمر التالي. هذا الأمر سيقوم بتثبيت مكتبة فلاسك والتبعيات التي تحتاجها.
pip install flask
كيفية حذف الرسائل النصية من فلاسك بايثون (خطوات سريعة)
لحذف الرسائل النصية من فلاسك بايثون:
- قم بتنزيل وتثبيت بايثون
- ثبت مكتبة ozekilibsrest باستخدام pip أو codna
- ثبت فلاسك باستخدام pip أو codna
- قم بتنزيل ملف DeleteSms.py.zip
- استخرج ملف .zip من مجلد التنزيلات
- افتح ملف DeleteSms.py في أي محرر نصوص
- شغّل بوابة Ozeki للرسائل النصية
- أنشئ مستخدم HTTP API في Ozeki
- شغّل كود DeleteSms.py باستخدام موجه الأوامر لإرسال رسائل SMS الاختبارية
- تحقق من صندوق المرسلات في بوابة Ozeki للرسائل النصية
تثبيت بوابة Ozeki للرسائل النصية وإنشاء مستخدم HTTP API
لتتمكن من إرسال الرسائل النصية من فلاسك بايثون، يجب أولاً تثبيت بوابة Ozeki للرسائل النصية. يمكن تثبيت بوابة الرسائل النصية على نفس الكمبيوتر الذي تقوم فيه بتطوير كود بايثون. بعد التثبيت، الخطوة التالية هي ربط بوابة Ozeki للرسائل النصية بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم HTTP 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(اسم المستخدم+":"+كلمة المرور). في بايثون، يمكنك استخدام الكود التالي لإجراء هذا التشفير:
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 وجزء جسم HTTP. يحتوي جزء الجسم على معرفات الرسائل التي نرغب في حذفها.
POST /api?action=deletemsg 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== Content-Type: application/json Content-Length: 76 { "folder": "inbox", "message_ids": [ "af5819d4-e32f-4653-a6d4-8fb49017164e" ] }
استجابة HTTP التي يتلقاها مثال فلاسك بايثون للرسائل النصية
بمجرد أن تتلقى بوابة الرسائل النصية هذا الطلب، ستقوم بإنشاء استجابة HTTP. ستحتوي استجابة HTTP على رمز حالة للإشارة إلى ما إذا كان طلب إرسال الرسالة النصية ناجحًا أم لا. كما ستعود بهيكل مشفر بـ JSON لتزويدك بتفاصيل مفيدة حول إرسال الرسالة.
HTTP/1.1 200 OK Transfer-Encoding: chunked Content-Type: application/json; charset=utf8 Last-Modified: Fri, 17 Sep 2021 09:14:01 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:54:08 GMT { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "message_ids": [ "af5819d4-e32f-4653-a6d4-8fb49017164e" ] } }
مثال فلاسك بايثون للرسائل النصية: DeleteSms.py
كيفية تنزيل مشروع DeleteSms.py (فيديو تعليمي)
في الفيديو التالي، ستتعلم كيفية استخدام مشروع DeleteSms.py باستخدام Python flask. سيبدأ الفيديو بصفحة التنزيل وسيأخذك حتى لوحة محرر الأكواد المفتوحة. ستتعلم كيفية تنزيل وفتح ملف الكود. مدة الفيديو 54 ثانية فقط، لكنه يحتوي على جميع المعلومات الضرورية لاستخدام ملف الكود بنجاح.
كود المثال أدناه هو جزء من مجلد DeleteSms.py.zip.
كيفية استخدام المشروع (فيديو تعليمي)
في المقطع التالي، سترى كيفية تشغيل كود DeleteSms.py باستخدام Python. سيبدأ الفيديو بالكود المفتوح وسيأخذك حتى علامة تبويب الأحداث مع سجل الرسالة المرسلة. سترى كيفية تشغيل الكود وما يحدث إذا تم تنفيذ الكود. مدة الفيديو أقل بقليل من دقيقة، لكنه يحتوي على جميع المعلومات الضرورية لتشغيل المشروع.
الختام
أظهرت هذه المقالة خطوات حذف الرسائل القصيرة في طلب واحد من Python flask.
باستخدام هذه المعرفة والأدوات المقدمة، يجب أن تكون قادرًا على الوصول إلى عدة عملاء بكود واحد. يلعب Ozeki SMS Gateway دورًا مهمًا في هذه العملية لأن هذا البرنامج ينظم تسليم الرسائل. يعمل Ozeki SMS Gateway بجودة وأداء عاليين، مما يسمح لك بإرسال ما يصل إلى 1000 رسالة قصيرة في الثانية.
استمر في التعلم في صفحات الدروس الخاصة بـ Ozeki، حيث يمكنك قراءة مواضيع مثل إرسال الرسائل القصيرة باستخدام Python flask.
الآن كل ما عليك فعله هو تنزيل Ozeki SMS Gateway والبدء في العمل!
More information
- إرسال SMS باستخدام Python flask مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- إرسال عدة رسائل SMS باستخدام Python flask مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- جدولة SMS باستخدام Python flask مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- استقبال SMS باستخدام Python flask مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- حذف SMS باستخدام Python flask مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- كيفية تنزيل أحدث مكتبة Python flask SMS من Github