SMS-Versand in C/C++
Der einfachste Weg, SMS aus C/C++ zu versenden, ist die Verwendung der integrierten HTTP/Rest-SMS-API des Ozeki SMS Gateways. Wenn Sie diese API verwenden, senden Sie SMS-Nachrichten, indem Sie eine HTTP-Post-Anfrage an das SMS-Gateway stellen. Die HTTP-Post-Anfrage enthält eine Nachricht im JSON-Format. Das SMS-Gateway sendet diese SMS an die Empfängertelefonnummer und gibt eine HTTP-200-OK-Antwort auf Ihre Anfrage zurück.
C/C++-Code zum Senden von SMS an Mobiltelefone
Das folgende C/C++-SMS-Codebeispiel zeigt, wie Sie SMS mit der HTTP-Rest-SMS-API des Ozeki SMS Gateways unter Verwendung der C/C++-Bibliothek Ozeki.Libs.Rest senden können. Diese Bibliothek wird Ihnen kostenlos zur Verfügung gestellt, und Sie können sie in Ihren Projekten verwenden und nach Belieben anpassen.
SendSms.cpp#include <iostream> #include <string> #include "Ozeki.Libs.Rest.h" using namespace std; int main() { //Funktion zur Erzeugung einer eindeutigen Kennung für jede Nachricht srand((unsigned)time(0)); Configuration configuration; configuration.Username = "http_user"; configuration.Password = "qwe123"; configuration.ApiUrl = "http://127.0.0.1:9509/api"; Message msg; msg.ToAddress = "+36201111111"; msg.Text = "Hello world!"; MessageApi api(configuration); auto result = api.Send(msg); cout << result << endl; return 0; }
Verwendung des C/C++-SMS-Beispiels:
Dieses C/C++-SMS-Beispiel kann in jeder C- oder C++-Anwendung verwendet werden. Um es zu nutzen, müssen Sie die Ozeki.Libs.Rest-DLL als Referenz zu Ihrem Projekt hinzufügen. Nachdem die Projektreferenz hinzugefügt wurde, müssen Sie die Direktive using Ozeki.Libs.Rest; in den Kopfbereich Ihres C/C++-Quellcodes einfügen. Dadurch können Sie die von der Ozeki.Libs.Rest-Bibliothek bereitgestellten Klassen verwenden. Mit der Message-Klasse können Sie die SMS erstellen. Mit der MessageApi-Klasse können Sie die SMS an das SMS-Gateway senden. Das SMS-Gateway leitet Ihre Nachricht entweder über eine drahtlose Verbindung oder über das Internet an das Mobilfunknetz weiter.
SendSms.cpp herunterladen
Der in diesem Artikel erläuterte Quellcode kann kostenlos heruntergeladen, verwendet und modifiziert werden.
Download: SendSms.cpp.zip (2,97 MB)
Was befindet sich in der Datei SendSms.cpp.zip?
Die Datei SendSms.cpp.zip enthält die Ozeki.Libs.Rest-Bibliothek, die Ihnen alle notwendigen Werkzeuge zum Senden und Empfangen von SMS-Nachrichten bietet. Sie finden dort auch das SendSms-Projekt, das den Beispielcode enthält, der Ihnen zeigt, wie Sie eine SMS senden können. Dieser Beispielcode ist unten aufgeführt.
SMS-Versand in C/C++ (Einfache Anleitung)
So senden Sie SMS aus C/C++:
- Installieren Sie einen HTTP-API-Benutzer
- Aktivieren Sie "Log communication events" auf der Registerkarte "Advanced"
- Richten Sie Visual Studio ein
- Laden Sie die Datei SendSms.cpp.zip herunter und entpacken Sie sie
- Öffnen Sie die Datei sendsms.sln in Visual Studio
- Starten Sie die Ozeki SMS Gateway-App
- Führen Sie den C++-Code SendSMS.cpp in Visual Studio aus
- Überprüfen Sie die Protokolle, um zu sehen, ob die SMS gesendet wurde
Installieren Sie Ozeki SMS Gateway und erstellen Sie einen HTTP-API-Benutzer
Um SMS aus C/C++ senden zu können, müssen Sie zunächst Ozeki SMS Gateway installieren. Das SMS-Gateway kann auf demselben Computer installiert werden, auf dem Sie Ihren C/C++-Code in Visual Studio entwickeln. Nach der Installation besteht der nächste Schritt darin, Ozeki SMS Gateway mit dem Mobilfunknetz zu verbinden. Sie können eine Test-SMS über die Ozeki-GUI senden, um zu überprüfen, ob Ihre Mobilfunknetzverbindung funktioniert. Der letzte Schritt zur Vorbereitung Ihrer Umgebung besteht darin, einen HTTP-SMS-API-Benutzeraccount zu erstellen. Erstellen Sie einen Benutzer mit dem Benutzernamen "http_user" und dem Passwort "qwe123", damit das Beispiel ohne Änderungen funktioniert.
Nachdem die Umgebung eingerichtet ist, können Sie Ihren C/C++-Code ausführen.
HTTP-API-URL zum Senden von SMS aus C/C++
Um SMS aus C/C++ zu senden, muss Ihre C/C++-Anwendung eine HTTP-Anfrage an das SMS-Gateway stellen. Die API-URL wird unten angezeigt. Beachten Sie, dass die IP-Adresse (127.0.0.1) durch die IP-Adresse Ihres SMS-Gateways ersetzt werden sollte. Wenn Ozeki SMS Gateway auf demselben Computer installiert ist, auf dem die C/C++-SMS-Anwendung läuft, kann dies 127.0.0.1 sein. Wenn es auf einem anderen Computer installiert ist, sollte es die IP-Adresse dieses Computers sein.
http://127.0.0.1:9509/api?action=rest
HTTP-Authentifizierung zum Senden von SMS aus C/C++
Um den C/C++-SMS-Client zu authentifizieren, müssen Sie den Benutzernamen und das Passwort in einer base64-kodierten Zeichenkette an den Server in einer HTTP-Anfrage senden. Das verwendete Format lautet: base64(Benutzername+":"+Passwort). In C/C++ können Sie den folgenden Code verwenden, um diese Kodierung durchzuführen:
string usernamePassword = username + ":" + password; string usernamePasswordEncoded = base64::encode(usernamePassword); return "Basic " + usernamePasswordEncoded;
Wenn Sie beispielsweise den Benutzernamen 'http_user' und das Passwort 'qwe123' kodieren, erhalten Sie die folgende base64-kodierte Zeichenkette: aHR0cF91c2VyOnF3ZTEyMw==. Zum Senden
HTTP-Anfrageheader zum Senden von SMS aus C/C++
Um die SMS-Nachrichten zu senden, müssen Sie die folgenden Zeilen als Header in die HTTP-Anfrage aufnehmen. Beachten Sie, dass wir einen Content-Type- und einen Authorization-Header einfügen.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP-Anfrage zum Senden einer SMS aus C/C++
Um die SMS zu übermitteln, sendet Ihre C/C++-Anwendung eine HTTP-Anfrage ähnlich der unten gezeigten. Beachten Sie, dass diese Anfrage einen HTTP-Header-Teil und einen HTTP-Body-Teil enthält. Der HTTP-Body ist eine JSON-kodierte Datenzeichenfolge. Sie enthält die Nummer des Empfängers und den Text der Nachricht.
POST /api?action=sendmsg HTTP/1.1 Content-Length: 320 Content-Type: application/json Accept: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 { "messages": [ { "create_date": "2021-06-29T07:55:54", "message_id": "hbfc030d-68b7-a1i0-6e96-6jgkqml6rnt9", "submit_delivery_requested": true, "submit_report_requested": true, "submit_view_requested": true, "text": "Hello world!", "time_to_send": "2021-06-29T07:55:54", "to_address": "+36201111111", "valid_until": "2021-07-06T07:55:54" } ] }
HTTP-Antwort, die vom C/C++-SMS-Beispiel empfangen wurde
Sobald das SMS-Gateway diese Anfrage empfängt, wird es eine HTTP-Antwort generieren. Die HTTP-Antwort enthält einen Statuscode, um anzuzeigen, ob die SMS-Übermittlungsanfrage erfolgreich war oder nicht. Sie gibt auch eine JSON-kodierte Struktur zurück, die Ihnen nützliche Details über die Übermittlung der Nachricht liefert.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.123 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Mon, 28 Jun 2021 16:58:02 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "hbfc030d-68b7-a1i0-6e96-6jgkqml6rnt9", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-06-29 07:55:54", "valid_until": "2021-07-06 07:55:54", "time_to_send": "2021-06-29 07:55:54", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Verbinden Sie Ihr SMS-Gateway mit dem Mobilfunknetz und erstellen Sie ein HTTP-API Benutzerkonto (Video-Tutorial)
Wir gehen davon aus, dass Sie bereits Ozeki SMS Gateway installiert haben und es mit dem Mobilfunknetz verbunden haben. Um SMS von C# an ein Mobiltelefon senden zu können, müssen Sie ein HTTP-API-Benutzerkonto in Ozeki SMS Gateway einrichten. In diesem Video zeigen wir Ihnen, wie das geht. Das Video beginnt mit dem Hinzufügen eines neuen Benutzers und endet mit der funktionierenden HTTP-API. Sie erfahren auch, wie Sie den Log-Level der API ändern können. Dieses 30-Sekunden-lange Video ist einfach zu befolgen und detailliert, außerdem verwenden wir das Ozeki SMS Gateway, das eine intuitive Benutzeroberfläche bietet. Sie werden keine Probleme haben, dem Tutorial zu folgen.
Wie Sie SMS aus C/C++ mit der C/C++-SMS-API senden (Video-Tutorial)
Dieses Video zeigt Ihnen, wie Sie die Datei SendSms.cpp.zip von dieser Seite herunterladen und wie Sie deren Inhalt in Visual Studio öffnen. Wenn Sie das Video ansehen, werden Sie feststellen, dass der Inhalt der SendSms.cpp-Zip auf den Windows-Desktop platziert wird. Sie werden auch sehen, dass wir doppelt auf die SendSms.sln-Lösungsdatei klicken, um die Lösung zu öffnen. Visual Studio zeigt einige Warnungen an, da die Datei aus dem Internet stammt. Klicken Sie einfach auf OK, um diese Warnungen zu vermeiden.
C/C++-SMS-Beispiel: SendSms.sln
Der Beispielcode unten ist Teil der SendSms.sln Visual Studio-Lösung. Eine Visual Studio-Lösung kann mehrere Projekte und mehrere Dateien enthalten. In dieser Lösung gibt es nur ein Projekt: SendSms.vcxproj, und eine Datei: SendSms.cpp.
Wie Sie überprüfen, ob die SMS vom HTTP-Benutzer akzeptiert wurde
Nachdem die SMS übermittelt wurde, ist es eine gute Idee, Ihr SMS-Gateway zu überprüfen, um zu sehen, was es empfangen hat. Sie können das Protokoll überprüfen, indem Sie die Details des HTTP-Benutzers aus der Ozeki SMS Gateway-Verwaltungskonsole öffnen. Das folgende Video zeigt Ihnen, worauf Sie achten müssen. Das Video beginnt mit dem geöffneten Ozeki SMS Gateway und endet mit dem Ereignismenü. Sie erfahren, wo Sie klicken und wo Sie nach dem Protokoll des HTTP-Benutzers suchen müssen. Das 34-Sekunden-lange Video ist detailliert, aber sehr leicht verständlich. Sie werden sich in der Benutzeroberfläche nicht verlieren, da das Ozeki SMS Gateway eine sehr intuitive bietet.
Wie man überprüft, ob die SMS an das Mobilfunknetz gesendet wurde
Der letzte Schritt zur Überprüfung des Vorgangs besteht darin, die Protokolle der Mobilfunknetzverbindung zu überprüfen. Möglicherweise müssen Sie die Protokollierung in der Konfiguration der Verbindung aktivieren, bevor Sie die Nachricht senden, um die Protokolle einzusehen. Wenn die Protokollierung aktiviert ist, sehen Sie die Telefonnummer und den Text der von Ihnen gesendeten Nachricht.
Empfang einer SMS auf Android
In diesem Video sehen Sie den Prozess des Empfangs einer SMS-Nachricht auf Android. Das 18 Sekunden lange Video beginnt mit einer gewöhnlichen Android-Startseite und zeigt Ihnen die Benachrichtigung bei einer eingehenden Nachricht. Sie lernen auch, wie Sie die Nachrichten-App öffnen, wo Sie weitere Informationen zur Nachricht erhalten und darauf antworten können. Der Prozess ist leicht verständlich, und das Video zeigt ihn in seiner Gesamtheit.
Zusammenfassend
Dieser Artikel wurde geschrieben, um Ihnen beizubringen, wie Sie SMS von C/C++ aus mit dem HTTP API-Benutzer des Ozeki SMS Gateways senden können. Die HTTP-Benutzerverbindung im Ozeki SMS Gateway bietet Ihnen eine sehr zuverlässige Verbindung und erstaunliche Geschwindigkeit, um Ihrem Unternehmen einen reibungslosen Ablauf zu ermöglichen. Diese Lösung kann Ihre Organisation effizienter machen, da sie Ihnen ermöglicht, wichtige SMS-Nachrichten schnell und einfach über Ihre C/C++-Anwendung zu senden.
Es gibt noch viele weitere Artikel, die Ihnen helfen sollen, also stellen Sie sicher, dass Sie weiterlesen. Gehen Sie zum Wie man mehrere SMS von C/C++ aus sendet Tutorial und lernen Sie mehr.
Beginnen Sie jetzt mit der Verwendung des Ozeki SMS Gateways! Laden Sie es von der Ozeki-Webseite herunter.
More information
- C/Cpp SMS mit der HTTP REST API senden (Codebeispiel)
- C/Cpp mehrere SMS mit der HTTP REST API senden (Codebeispiel)
- C/Cpp SMS mit der HTTP REST API planen (Codebeispiel)
- C/Cpp SMS mit der HTTP REST API empfangen (Codebeispiel)
- C/Cpp SMS mit der HTTP REST API löschen (Codebeispiel)
- Wie lade ich die neueste C/Cpp SMS API Bibliothek von Github herunter