كيفية استقبال رسالة SMS في لغة C/C++
أسهل طريقة لإرسال رسائل SMS من لغة C/C++ هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK إلى طلبك.
كود C/C++ لاستقبال رسائل SMS من الهاتف المحمول
يوضح مثال كود C/C++ لرسائل SMS أدناه كيف يمكنك استقبال رسائل SMS باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة ببوابة Ozeki SMS باستخدام مكتبة Ozeki.Libs.Rest في لغة C++. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
ReceiveSms.cpp#include <iostream> #include <string> #include "Ozeki.Libs.Rest.h" using namespace std; int main() { //دالة لإنشاء معرف فريد لكل رسالة srand((unsigned)time(0)); Configuration configuration; configuration.Username = "http_user"; configuration.Password = "qwe123"; configuration.ApiUrl = "http://127.0.0.1:9509/api"; MessageApi api(configuration); auto result = api.DownloadIncoming(); cout << result << endl; for (Message message : result.Messages) { cout << message << endl; } return 0; }
كيفية استخدام مثال C++ لرسائل SMS:
يمكن استخدام هذا مثال C++ لرسائل SMS في أي تطبيق C أو C++. لاستخدامه، يجب عليك إضافة مكتبة Ozeki.Libs.Rest كمرجع إلى مشروعك. بعد إضافة المرجع، يجب وضع التوجيه using Ozeki.Libs.Rest; في قسم الرأس من كود المصدر C/C++ الخاص بك. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة MessageApi لـ استقبال الرسائل SMS من بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه الرسالة إليك إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل Receive-SMS.cs
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: ReceiveSms.cpp.zip (2.97Mb)
ما الموجود في ملف ReceiveSms.cpp.zip؟
يحتوي ملف ReceiveSms.cpp.zip على مكتبة Ozeki.Libs.Rest، والتي توفر لك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا مشروع ReceiveSms في الملف المضغوط، والذي يحتوي على كود المثال ليوضح لك كيفية استقبال رسالة SMS. تم سرد كود المثال هذا أدناه.
كيفية استقبال رسائل SMS في لغة C/C++ (إرشادات سهلة)
لاستقبال رسائل SMS في لغة C/C++:
- قم بإعداد Visual Studio Community
- قم بتنزيل ملف ReceiveSms.cpp.zip
- استخرج الملف المضغوط من مجلد التنزيلات
- افتح ملف ReceiveSms.sln في Visual Studio
- قم بتشغيل بوابة Ozeki SMS
- انقر على مستخدم HTTP في تبويب المستخدمين والتطبيقات
- شغل ReceiveSms.cpp لاستقبال رسائل SMS في لغة C/C++
- تحقق من صندوق الوارد في بوابة Ozeki SMS
تثبيت بوابة Ozeki SMS وإنشاء مستخدم HTTP API
لتتمكن من إرسال واستقبال رسائل SMS من لغة C/C++، تحتاج أولاً إلى إنشاء حساب مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود C/C++ الخاص بك.
رابط HTTP API لاستقبال رسائل SMS من لغة C/C++
لاستقبال رسائل SMS باستخدام لغة C/C++، سيتعين على كود C/C++ الخاص بك إرسال طلب HTTP إلى بوابة الرسائل. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل. إذا كانت بوابة Ozeki SMS مثبتة على نفس الكمبيوتر الذي يعمل عليه تطبيق C/C++ لرسائل SMS، فيمكن أن يكون هذا العنوان 127.0.0.1. إذا كانت مثبتة على كمبيوتر مختلف، فيجب أن يكون عنوان IP الخاص بهذا الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لاستقبال رسائل SMS من لغة C/C++
لمصادقة عميل C/C++ لرسائل SMS، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في لغة C++، يمكنك استخدام الكود التالي لإجراء هذا التشفير:
string usernamePassword = username + ":" + password; string usernamePasswordEncoded = base64::encode(usernamePassword); return "Basic " + usernamePasswordEncoded;
على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، فستحصل على السلسلة المشفرة التالية بـ base64: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال
طلب HTTP لاستقبال الرسائل القصيرة باستخدام لغة C/C++
لاستقبال الرسائل القصيرة، سيقوم تطبيقك المكتوب بلغة C/C++ بإرسال طلب HTTP مشابه للطلب الموضح أدناه. لاحظ أن هذا الطلب يتكون من جزء رأس HTTP وجزء جسم HTTP. جسم HTTP هو سلسلة بيانات مشفرة بتنسيق JSON. يحتوي على رقم المستلم ونص الرسالة.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509
رأس طلب HTTP لاستقبال الرسائل القصيرة من لغة C/C++
لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس التفويض.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
استجابة HTTP المستلمة من مثال الرسائل القصيرة بلغة C/C++
بمجرد أن يتلقى بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة HTTP. ستحتوي استجابة HTTP على رمز حالة، للإشارة إلى ما إذا كان طلب إرسال الرسالة القصيرة ناجحًا أم لا. كما ستعود أيضًا بهيكل مشفر بتنسيق JSON لتزويدك بتفاصيل مفيدة حول إرسال الرسالة.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.123 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Tue, 29 Jun 2021 10:59:51 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "5d78e707-13d3-49d3-9b7d-66ba0c24b21e", "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-06-29 11:07:33", "valid_until": "2021-07-06 11:07:33", "time_to_send": "2021-06-29 11:07:33", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [] }, { "message_id": "695acc97-43b6-4cf1-a6ae-c19e3f908c8f", "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-06-29 11:07:23", "valid_until": "2021-07-06 11:07:23", "time_to_send": "2021-06-29 11:07:23", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [] }, { "message_id": "333f852e-2f8f-464d-9663-831e857819ca", "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-06-29 11:07:10", "valid_until": "2021-07-06 11:07:10", "time_to_send": "2021-06-29 11:07:10", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [] } ] } }
تنزيل وفتح مشروع لغة C/C++ (فيديو تعليمي)
في الفيديو التالي، سنوضح لك كيفية تنزيل وفتح ملف المشروع. يبدأ الفيديو بالعثور على رابط التنزيل وينتهي بالمشروع جاهزًا للاستخدام. هذا الفيديو الذي مدته 1:32 دقيقة سهل الفهم ومفصل للغاية. لن تواجه أي مشكلة في فهم هذا البرنامج التعليمي. نستخدم بيئة برمجة Visual Studio لفتح المشروع.
كود المثال أدناه هو جزء من حل Visual Studio Receive-SMS.sln. يمكن أن يحتوي حل Visual Studio على مشاريع متعددة وملفات متعددة. في هذا الحل يوجد مشروع واحد فقط: Receive-SMS.csproj، وملف واحد: Program.cs.
استخدام المشروع (فيديو تعليمي)
يشرح الفيديو التالي كيفية استخدام المشروع. سيبدأ بفتح بوابة Ozeki SMS وسيأخذك حتى قائمة الرسائل في موجه الأوامر. في هذه العملية، سترى كيف ينقل الكود الرسائل من مجلد الوارد إلى مشروع لغة C/C++. الفيديو رائع لأنه يعرض جميع الخطوات بطريقة مفصلة وسهلة الفهم. ستحتاج فقط إلى 34 ثانية لمشاهدة الفيديو وستستخدم لوحة تحكم بوابة Ozeki SMS التي تتميز بسهولة الاستخدام. لن تواجه أي مشكلة في متابعة البرنامج التعليمي.
لخص ذلك
يظهر لك هذا الدليل كيفية استقبال الرسائل القصيرة (SMS) بلغة C/C++ باستخدام واجهة برمجة تطبيقات الرسائل القصيرة (HTTP SMS API) الخاصة ببوابة Ozeki للرسائل القصيرة. باستخدام هذا الحل، يمكنك التأكد من إعادة توجيه الرسائل الواردة عبر واجهة برمجة التطبيقات للرسائل القصيرة واستقبالها بواسطة برنامجك المكتوب بلغة Scala. قائمة جهات الاتصال الخاصة بك وبياناتك في أيدٍ أمينة لأن بوابة Ozeki للرسائل القصيرة تعمل في بيئة مغلقة تتحكم فيها أنت.
استمر في القراءة عن مواضيع مثل هذه على صفحة Ozeki الإلكترونية. تحقق من كيفية حذف رسالة SMS في C/C++ واستخدم الأكواد المقدمة دون قيود.
ابدأ العمل عن طريق تنزيل بوابة Ozeki للرسائل القصيرة الآن!
More information
- إرسال رسالة قصيرة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- إرسال رسائل متعددة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- جدولة رسالة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- استقبال رسالة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- حذف رسالة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- كيفية تنزيل أحدث مكتبة لواجهة برمجة تطبيقات الرسائل القصيرة لـ C/Cpp من Github