Wie man eine SMS in C/C++ empfängt
Der einfachste Weg, SMS von C/C++ aus zu senden, ist die Verwendung der integrierten HTTP/Rest-SMS-API von Ozeki SMS Gateway. 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 den Empfänger und gibt eine HTTP-200-OK-Antwort auf Ihre Anfrage zurück.
C/C++-Code zum Empfangen von SMS von einem Mobiltelefon
Das folgende C/C++-SMS-Codebeispiel zeigt, wie Sie SMS mit der HTTP-Rest-SMS-API von Ozeki SMS Gateway unter Verwendung der C++-Bibliothek Ozeki.Libs.Rest empfangen können. Diese Bibliothek wird Ihnen kostenlos zur Verfügung gestellt, und Sie können sie in Ihren Projekten verwenden und nach Belieben modifizieren.
ReceiveSms.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"; MessageApi api(configuration); auto result = api.DownloadIncoming(); cout << result << endl; for (Message message : result.Messages) { cout << message << endl; } return 0; }
Wie man das C++-SMS-Beispiel verwendet:
Dieses C++-SMS-Beispiel kann in jeder C- oder C++-Anwendung verwendet werden. Um es zu verwenden, 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 Header-Bereich Ihres C/C++-Quellcodes einfügen. Dies ermöglicht Ihnen die Verwendung der Klassen, die von der Ozeki.Libs.Rest-Bibliothek bereitgestellt werden. Sie können die Klasse MessageApi verwenden, um die SMS vom SMS-Gateway zu empfangen. Das SMS-Gateway leitet die Nachricht entweder über eine drahtlose Verbindung oder über das Internet an Sie weiter.
Receive-SMS.cpp herunterladen
Der in diesem Artikel erklärte Quellcode kann kostenlos heruntergeladen, verwendet und modifiziert werden.
Download: ReceiveSms.cpp.zip (2.97Mb)
Was befindet sich in der Datei ReceiveSms.cpp.zip?
Die Datei ReceiveSms.cpp.zip enthält die Ozeki.Libs.Rest-Bibliothek, die Ihnen alle notwendigen Werkzeuge zum Senden und Empfangen von SMS-Nachrichten bietet. Sie finden auch das ReceiveSms-Projekt in der ZIP-Datei, das den Beispielcode enthält, der Ihnen zeigt, wie Sie eine SMS empfangen können. Dieser Beispielcode ist unten aufgeführt.
Wie man SMS in C/C++ empfängt (Einfache Anleitung)
Um SMS in C/C++ zu empfangen:
- Richten Sie Visual Studio Community ein
- Laden Sie die Datei ReceiveSms.cpp.zip herunter
- Entpacken Sie die .zip-Datei aus dem Download-Ordner
- Öffnen Sie die Datei ReceiveSms.sln in Visual Studio
- Starten Sie Ozeki SMS Gateway
- Klicken Sie im Tab "Benutzer und Anwendungen" auf HTTP-Benutzer
- Führen Sie ReceiveSms.cpp aus, um SMS in C/C++ zu empfangen
- Überprüfen Sie den Posteingang in Ozeki SMS Gateway
Installieren Sie Ozeki SMS Gateway und erstellen Sie einen HTTP-API-Benutzer
Um SMS von C/C++ aus senden und empfangen 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 ist der nächste Schritt, 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 ist die Erstellung eines HTTP-SMS-API-Benutzerkontos. 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 Empfangen von SMS in C/C++
Um SMS mit C/C++ zu empfangen, 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 Empfangen von SMS in C/C++
Um den C/C++-SMS-Client zu authentifizieren, müssen Sie den Benutzernamen und das Passwort in einer base64-kodierten Zeichenkette in einer HTTP-Anfrage an den Server senden. Das verwendete Format lautet: base64(Benutzername+":"+Passwort). In 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==. Um sie zu senden,
HTTP-Anfrage zum Empfangen von SMS mit C/C++Um SMS zu empfangen, sendet Ihre C/C++-Anwendung eine HTTP-Anfrage ähnlich der untenstehenden. Beachten Sie, dass diese Anfrage einen HTTP-Header-Teil und einen HTTP-Body-Teil enthält. Der HTTP-Body ist ein JSON-kodierter Datenstring. Er enthält die Nummer des Empfängers und den Text der Nachricht.
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-Anfrageheader zum Empfangen von SMS aus C/C++
Um die SMS-Nachrichten zu senden, müssen Sie die folgenden Zeilen als Header in die HTTP-Anfrage einfügen. Beachten Sie, dass wir einen Content-Type- und einen Authorization-Header einfügen.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP-Antwort, die vom C/C++-SMS-Beispiel empfangen wurde
Sobald das SMS-Gateway diese Anfrage erhält, wird es eine HTTP-Antwort generieren. Die HTTP-Antwort enthält einen Statuscode, um anzuzeigen, ob die SMS-Sendeanfrage erfolgreich war oder nicht. Sie wird auch eine JSON-kodierte Struktur zurückgeben, um Ihnen nützliche Details über den Nachrichtenversand zu liefern.
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": [] } ] } }
Herunterladen und Öffnen des C/C++-Projekts (Video-Tutorial)
Im folgenden Video zeigen wir Ihnen, wie Sie die Projektdatei herunterladen und öffnen können. Das Video beginnt mit der Suche nach dem Download-Link und endet mit dem einsatzbereiten Projekt. Dieses 1:32 Minuten lange Video ist leicht verständlich und sehr detailliert. Sie werden keine Probleme haben, dieses Tutorial zu verstehen. Wir verwenden die Visual Studio-Programmierumgebung, um das Projekt zu öffnen.
Der Beispielcode unten ist Teil der Receive-SMS.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: Receive-SMS.csproj, und eine Datei: Program.cs.
Verwendung des Projekts (Video-Tutorial)
Das folgende Video erklärt, wie das Projekt verwendet wird. Es beginnt mit dem Öffnen des Ozeki SMS Gateways und führt Sie bis zur Liste der Nachrichten in der Eingabeaufforderung. Dabei sehen Sie, wie der Code die Nachrichten aus dem Posteingang in das C/C++-Projekt verschiebt. Das Video ist großartig, weil es alle Schritte detailliert zeigt und leicht verständlich ist. Sie benötigen nur 34 Sekunden, um das Video anzusehen, und Sie verwenden das Dashboard des Ozeki SMS Gateways, das sehr intuitiv ist. Sie werden keine Probleme haben, dem Tutorial zu folgen.
Zusammenfassend
Diese Anleitung hat Ihnen gezeigt, wie Sie SMS in C/C++ mit dem HTTP-SMS-API-Benutzer des Ozeki SMS Gateways empfangen können. Mit dieser Lösung können Sie sicherstellen, dass eingehende Nachrichten von der SMS-API weitergeleitet und von Ihrem Scala-Programm empfangen werden. Ihre Kontaktliste und Daten sind in sicheren Händen, da das Ozeki SMS Gateway in einer geschlossenen Umgebung läuft, die Sie kontrollieren.
Lesen Sie weiter zu Themen wie diesem auf der Ozeki-Webseite. Entdecken Sie Wie man eine SMS in C/C++ löscht und nutzen Sie die bereitgestellten Codes ohne Einschränkungen.
Beginnen Sie mit der Arbeit, indem Sie jetzt das Ozeki SMS Gateway herunterladen!
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