SMS in C# empfangen
Die folgende Anleitung zeigt, wie Sie die Nachrichten, die von Ihrem SMS-Gateway empfangen wurden, mit einer C#-Anwendung abrufen können. Dieses C#-Beispiel verwendet HTTP-Anfragen, um die Nachrichten aus Ihrem Posteingangsordner im SMS-Gateway anzufordern. Das SMS-Gateway sammelt alle empfangenen Nachrichten und sendet sie als Antwort auf die HTTP-Anfrage an die C#-Anwendung. Die Anleitung zeigt auch, wie Sie die HTTP-Server-Verbindung nutzen können, um eingehende Nachrichten zu simulieren. Es dauert nicht mehr als fünf Minuten, um diese Anleitung abzuschließen, also fangen wir gleich an.
Was ist eine C# SMS API?
Die C# SMS API ist ein hervorragendes Tool, um SMS-Nachrichten aus jeder Art von C#-basiertem Projekt oder Anwendung zu versenden, indem HTTP-Anfragen initiiert und an das SMS-Gateway weitergeleitet werden.
Voraussetzungen
- Installierte Visual Studio 2019 Community Edition
- Installiertes Ozeki 10 SMS Gateway
- Eine konfigurierte HTTP-Server-Verbindung
SMS in C# empfangen
- Öffnen Sie Visual Studio
- Erstellen Sie ein neues Konsolen-App-Projekt
- Kopieren Sie den C#-Beispielcode von dieser Seite
- Fügen Sie den Code in Ihre C#-Anwendung ein
- Öffnen Sie Ozeki 10 SMS Gateway
- Wählen Sie die HTTP-Server-Verbindung aus
- Senden Sie Testnachrichten über die HTTP-Server-Verbindung
- Starten Sie Ihre C#-Anwendung, um alle eingehenden Nachrichten zu erhalten
Der untenstehende C#-Beispielcode kann alle eingehenden Nachrichten mithilfe von HTTP-Anfragen sammeln. Dieser Beispielcode ist frei verwendbar, Sie können ihn modifizieren und in Ihr eigenes Projekt implementieren. Wenn Sie die Lösung nur testen möchten, müssen Sie die schrittweisen Anweisungen unten befolgen oder das oben gezeigte Video ansehen, das demonstriert, wie Sie diesen C#-Beispielcode verwenden können.
using System; using System.Net.Http; using System.Xml; using System.Threading.Tasks; namespace ReceiveSMS { class Program { static async Task Main(string[] args) { var username = "john"; var password = "Xc3ffs"; var httpUrl = "https://127.0.0.1:9508/"; var folder = "inbox"; var limit = "3"; var sendString = $"{httpUrl}api?action=receivemessage&username=" + $"{username}&password={password}&folder={folder}&limit=" + $"{limit}&afterdownload=delete"; Console.WriteLine("Sending request: " + sendString + "\n"); var handler = new HttpClientHandler(); handler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return true; }; using var client = new HttpClient(handler); try { var response = await client.GetStringAsync(sendString); Console.WriteLine("Http response received: "); DisplayMessages(response); } catch (Exception e) { Console.WriteLine(e.Message); } } static void DisplayMessages(string response) { var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(response); var nodes = xmlDoc.SelectNodes("response/data/message"); foreach (XmlNode node in nodes) { try { var sender = node.SelectSingleNode("originator").InnerText; var text = node.SelectSingleNode("messagedata").InnerText; DisplayMessage(sender, text); } catch (System.NullReferenceException e) { Console.WriteLine("The inbox is empty!"); } } } static void DisplayMessage(string sender, string text) { Console.WriteLine($"{sender}: {text}"); } } }
Schritt 1 - Öffnen Sie Visual Studio
Der erste Schritt der Anleitung besteht darin, eine C#-Anwendung zu erstellen, in die Sie den Beispielcode von dieser Seite einfügen können. Das beste Tool zum Erstellen einer C#-Anwendung ist Visual Studio. Sie können es im Abschnitt "Voraussetzungen" herunterladen, falls Sie es noch nicht haben. Wenn Visual Studio bereits auf Ihrem Computer installiert ist, müssen Sie es nur von Ihrem Desktop aus öffnen, wie Sie in Abbildung 1 sehen können.
Schritt 2 - Ein neues Projekt erstellen
Nachdem Sie Visual Studio geöffnet haben, erscheint das Willkommensfenster. Sie können ein kürzlich verwendetes Projekt öffnen oder ein ganz neues Projekt aus diesem Fenster erstellen. Wie in Abbildung 2 gezeigt, müssen Sie nun ein neues Projekt erstellen, also wählen Sie einfach diese Option aus dem Fenster aus.
Schritt 3 - Konsolenanwendung auswählen
Nachdem Sie sich entschieden haben, ein neues Projekt zu erstellen, listet das nächste Fenster alle verfügbaren Optionen auf, die Sie auswählen können, wenn Sie eine neue C#-Anwendung erstellen möchten. Um dieser Anleitung zu folgen, müssen Sie nur eine einfache Konsolenanwendung erstellen. Wie in Abbildung 3 gezeigt, wählen Sie einfach diese Option aus und klicken Sie auf "Weiter".
Schritt 4 - Projekt konfigurieren
Bevor Sie das Konsolenanwendungsprojekt endgültig erstellen, müssen Sie einige Konfigurationen vornehmen. Diese sind sehr einfach; Sie müssen nur einen Namen für Ihr Projekt vergeben, wie Sie in Abbildung 4 sehen können. In diesem Fenster können Sie auch den Speicherort der Projektdateien angeben. Wenn Sie alle Konfigurationen abgeschlossen haben, klicken Sie einfach auf "Erstellen", um das Konsolenanwendungsprojekt zu erstellen.
Schritt 5 - Beispielcode in das Projekt einfügen
Das erstellte Projekt enthält eine C#-Datei, nämlich Program.cs. Dies ist die Datei, in die Sie den Beispielcode einfügen müssen. Scrollen Sie dazu zum Beispielcode, markieren Sie den gesamten Code und drücken Sie Strg+C auf Ihrer Tastatur. Dieser Vorgang kopiert den Code in Ihre Zwischenablage. Gehen Sie dann zur Datei Program.cs, löschen Sie den vorhandenen Code und drücken Sie, wie in Abbildung 5 gezeigt, Strg+V, um den Code in die Datei einzufügen.
Schritt 6 - Einige eingehende Nachrichten simulieren
Als Nächstes müssen Sie auf einige eingehende Nachrichten in Ihrem SMS-Gateway warten. Dies kann einige Zeit dauern, daher können Sie die Option wählen, einige Nachrichten über die HTTP-Server-Verbindung zu simulieren. Wie in Abbildung 6 gezeigt, öffnen Sie einfach das HTML-Formular der HTTP-Server-Verbindung. Dieses Formular bietet die Möglichkeit, einige Nachrichten zu erstellen. Sie müssen nur "Ozeki" als Empfänger eingeben und einen Text in das Feld "MessageData" schreiben. Um die Testnachricht zu senden, klicken Sie einfach auf "Senden".
Schritt 7 - Beispiel-C#-Code ausführen
Der letzte Schritt, den Sie ausführen müssen, ist das Ausführen des C#-Codes und das Abrufen der empfangenen Nachrichten. Klicken Sie dazu einfach auf die Schaltfläche "Ausführen" in Visual Studio, wie Sie es in Abbildung 7 sehen können. Dadurch erscheint ein Konsolenfenster, das die HTTP-Anfrage anzeigt, die Ihre Anwendung gesendet hat. Es zeigt auch die Antwortnachricht vom SMS-Gateway an, die eine Liste aller Nachrichten ist, die sich in Ihrem Posteingang befinden.
Fazit
Dieses Tutorial hat Ihnen alle notwendigen Informationen gegeben, wie Sie SMS-Nachrichten in C# empfangen können. Das Empfangen von Nachrichten in C# bedeutet, dass Sie eine Nachrichtenempfangs- Funktionalität in jedem Ihrer C#-Projekte implementieren können. Dies führt zu einem vielseitigen und weit verbreiteten Projekt. Diese Lösung basiert auf dem Ozeki SMS-Gateway, was bedeutet, dass Sie Nachrichten verfolgen können, wenn sie das System durchlaufen, und Fehler leicht erkennen können, dank der Low-Level-Protokollierungsfähigkeit des Ozeki SMS- Gateways.
Stellen Sie sicher, dass Sie hier nicht im Lernprozess aufhören. Schauen Sie sich gerne andere Artikel auf der Ozeki-Website an. Beginnen Sie zum Beispiel mit dem Versenden von SMS-Nachrichten mit C#. Ein weiterer guter Artikel ist, wie Sie eingehende Nachrichten simulieren können, um Testzwecke.
Das nächste, was Sie tun sollten, ist, das Ozeki SMS-Gateway herunterzuladen und jetzt mit der Entwicklung zu beginnen!
More information
- Eingehende SMS für C#-Tests simulieren
- SMS in C# empfangen