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

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

Video 1 - Wie Sie SMS in C# empfangen (Video-Tutorial)

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.

Visual Studio öffnen
Abbildung 1 - Visual Studio 2019 öffnen

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.

Neues Projekt in Visual Studio erstellen
Abbildung 2 - Neues Projekt in Visual Studio erstellen

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".

Konsolenanwendung auswählen
Abbildung 3 - Konsolenanwendung auswählen

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.

Projektnamen konfigurieren
Abbildung 4 - Projektnamen konfigurieren

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.

Code in Visual Studio ersetzen
Abbildung 5 - Code in Visual Studio ersetzen

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".

Einige eingehende SMS in Ozeki 10 simulieren
Abbildung 6 - Einige eingehende SMS in Ozeki 10 simulieren

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.

Code ausführen, um SMS zu empfangen
Abbildung 7 - C#-Code ausführen, um SMS zu empfangen

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