Wie man SMS von Visual Basic aus sendet

Der einfachste Weg, SMS von Visual Basic 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 wird eine Nachricht im JSON-Format enthalten. Das SMS-Gateway wird diese SMS an die Empfängertelefonnummer senden und eine HTTP-200-OK-Antwort auf Ihre Anfrage zurückgeben.

wie man eine SMS von Visual Basic aus sendet
Abbildung 1 - Wie man eine SMS von Visual Basic aus sendet

Visual Basic SMS-Sendecode-Beispiel

Program.vb
Imports Ozeki.Libs.Rest

Module Program
    Sub Main(args As String())

        Dim configuration As New Configuration
        configuration.Username = "http_user"
        configuration.Password = "qwe123"
        configuration.ApiUrl = "http://127.0.0.1:9509/api"

        Dim msg As New Message
        msg.ToAddress = "+36201111111"
        msg.Text = "Hallo, Welt!"

        Dim api = New MessageApi(configuration)

        Dim result = api.Send(msg)

        Console.WriteLine(result)
        Console.ReadKey()

    End Sub
End Module
	

SendSms.vb herunterladen

Der in diesem Artikel erklärte Quellcode kann kostenlos heruntergeladen, verwendet und modifiziert werden.
Download: SendSms.vb.zip (48,6Kb)

Was ist in der SendSms.vb.zip-Datei enthalten?

Die SendSms.vb.zip-Datei enthält die Ozeki.Libs.Rest-Bibliothek, die Ihnen alle notwendigen Werkzeuge zum Senden und Empfangen von SMS-Nachrichten bietet. Sie finden auch das SendSms-Projekt in der Zip-Datei, das den Beispielcode enthält, um Ihnen zu zeigen, wie Sie eine SMS senden. Dieser Beispielcode ist unten aufgeführt.

Abbildung 2 - Was ist in SendSms.vb.zip enthalten

Wie man SMS von Visual Basic aus sendet (Schnelle Schritte)

Um SMS von Visual Basic aus zu senden:

  1. Ozeki SMS Gateway installieren
  2. Ozeki SMS Gateway mit dem Mobilfunknetz verbinden
  3. Eine Test-SMS von der Ozeki-Oberfläche senden
  4. Einen HTTP-SMS-API-Benutzer erstellen
  5. Visual Studio starten
  6. Eine Lösung namens Send-SMS.sln erstellen
  7. Ein Visual Basic-Konsolenprojekt hinzufügen: Send-SMS.vbproj
  8. Den Code in Program.vb oder Send-SMS.vb einfügen
  9. Eine Visual Basic-Funktion namens Send_SMS erstellen
  10. Die SMS-JSON-Daten erstellen
  11. Eine HTTP-Anfrage zum Senden der SMS erstellen
  12. Die HTTP-Antwort lesen
  13. Die Antwort auf der Konsole ausgeben
  14. Die Protokolle im SMS-Gateway überprüfen

Ozeki SMS Gateway installieren und einen HTTP-API-Benutzer erstellen

Um SMS von Visual Basic aus 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 Visual Basic-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 von der Ozeki-Oberfläche senden, um zu überprüfen, ob Ihre Mobilfunknetzverbindung funktioniert. Der letzte Schritt zur Vorbereitung Ihrer Umgebung ist, einen HTTP-SMS-API-Benutzer 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 Visual Basic-Code ausführen.

HTTP-API-URL zum Senden von SMS von Visual Basic aus

Um SMS von Visual Basic aus zu senden, muss Ihre Visual Basic-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 Visual Basic-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 von Visual Basic aus

Um den Visual Basic-SMS-Client zu authentifizieren, müssen Sie den Benutzernamen und das Passwort in einem base64-kodierten String an den Server in einer HTTP-Anfrage senden. Das verwendete Format ist: base64(Benutzername+":"+Passwort). In C# können Sie den folgenden Code verwenden, um diese Kodierung durchzuführen:

var encoding = Encoding.GetEncoding("iso-8859-1");
var usernamePassword = username + ":" + password;
var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));

Wenn Sie beispielsweise den Benutzernamen 'http_user' und das Passwort 'qwe123' kodieren, erhalten Sie den folgenden base64-kodierten String: aHR0cF91c2VyOnF3ZTEyMw==. Um

HTTP-Anfrageheader zum Senden von SMS von Visual Basic aus

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-Anfrage zum Senden von SMS aus Visual Basic

Um die SMS zu übermitteln, sendet Ihre Visual Basic-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
Connection: Keep-Alive
Content-Length: 336
Content-Type: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509

{
  "messages": [
    {
      "message_id": "4b486234-1dde-4975-b233-47267e988287",
      "to_address": "+36201111111",
      "text": "Hello, World!",
      "create_date": "2021-06-11 14:19:47",
      "valid_until": "2021-06-18 14:19:47",
      "time_to_send": "2021-06-11 14:19:47",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": true,
      "tags": []
    }
  ]
}

HTTP-Antwort, die vom Visual Basic-SMS-Beispiel empfangen wird

Sobald das SMS-Gateway diese Anfrage erhält, generiert es eine HTTP-Antwort. Die HTTP-Antwort enthält einen Statuscode, der anzeigt, 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.118 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 11 Jun 2021 08:44:45 GMT
Server: 10/10.3.118
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": "7e4fa89b-df8a-4267-afe3-da348bf200ef",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World!",
        "create_date": "2021-06-11 14:19:47",
        "valid_until": "2021-06-18 14:19:47",
        "time_to_send": "2021-06-11 14:19:47",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}

So senden Sie SMS aus Visual Basic (Video-Tutorial)

Dieses Video zeigt Ihnen, wie Sie ein neues .Net Core-Konsolenprojekt in Visual Studio erstellen und es in Send-SMS.sln umbenennen. Sobald die Lösung erstellt ist, werden Sie feststellen, dass ein Send-SMS.vbproj zur Lösung hinzugefügt wurde und standardmäßig die Datei Program.cs geöffnet ist. Sie können die Program.vb in Send-SMS.vb umbenennen, wenn Sie möchten. Sie werden auch im Video sehen, wie der Beispielcode unten in die Send-SMS.vb-Datei kopiert werden kann und wie er kompiliert und ausgeführt wird.

Video 1 - So laden Sie die Lösung herunter und öffnen sie (Video Tutorial)

SendSms.sln

Der untenstehende Beispielcode 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 zwei Projekte: SendSms.vbproj, Ozeki.Libs.Rest.csproj und eine Datei: Program.vb.

Abbildung 3 - SendSms.sln

So überprüfen Sie, 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.

Video 2 - So senden Sie SMS mit dem oben gezeigten Visual Basic-Code (Video-Tutorial)

So überprüfen Sie, 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 zu sehen. Wenn die Protokollierung aktiviert ist, sehen Sie die Telefonnummer und den Text der Nachricht, die Sie gesendet haben.

Video 3 - So aktivieren Sie die Protokollierung im Ozeki SMS Gateway (Video-Tutorial)

Ausführen des Visual Basic-SMS-Beispiels unter Windows

Wenn Sie Windows verwenden, um dieses in Visual Basic geschriebene SMS-Beispiel auszuführen, werden Sie feststellen, dass Sie eine etwas bessere Leistung erhalten als unter Linux. Um zu verstehen, warum dies geschieht, müssen Sie bedenken, dass Visual Basic das .NET-Framework für die Codeausführung verwendet. Dies liegt daran, dass die .NET-Implementierung unter Windows für Leistung optimiert ist, während mono, die .NET-Implementierung unter Linux, in diesem Bereich noch einiges aufzuholen hat.

Zusammenfassung

Der obige Leitfaden erklärte die Schritte zum Versenden von SMS aus Visual Basic. Ozeki stellt das gesamte Wissen und die Tools bereit, um Ihre Arbeit zu erleichtern. Wenn die Schritte sorgfältig befolgt wurden, sollte die Nachrichtenübermittlung an Mobilkunden aus VB mit Hilfe von Ozeki SMS Gateway nicht kompliziert sein. Die hohe Leistung von Ozeki SMS Gateway ermöglicht das Versenden von bis zu 1000 SMS pro Sekunde.

Stellen Sie sicher, dass Sie auf der Tutorial-Seite von Ozeki weiterlesen, wo es Informationen zu ähnlichen Themen gibt, wie Empfang in VB.

Ihr nächster Schritt ist, Ozeki SMS Gateway herunterzuladen und mit der Arbeit zu beginnen!

More information