Wie man SMS von Scala aus sendet
Der einfachste Weg, SMS von Scala aus zu versenden, 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 im JSON-Format formatierte Nachricht enthalten. Das SMS-Gateway wird diese SMS an das Telefon des Empfängers senden und eine HTTP-200-OK-Antwort auf Ihre Anfrage zurückgeben.
Scala-Code zum Senden von SMS an Mobiltelefone
Das Scala-SMS-Codebeispiel unten zeigt, wie Sie SMS mit der HTTP-Rest-SMS-API von Ozeki SMS Gateway und der Scala-Ozeki.Libs.Rest-Bibliothek senden können. Diese Bibliothek wird Ihnen kostenlos zur Verfügung gestellt, und Sie können sie in Ihren Projekten verwenden und modifizieren.
SendSms.scalaimport Ozeki.Libs.Rest.{ Configuration, Message, MessageApi } object main { def main(args: Array[String]): Unit = { val configuration = Configuration( Username = "http_user", Password = "qwe123", ApiUrl = "http://127.0.0.1:9509/api" ) val msg = Message( ToAddress = "+36201111111", Text = "Hello world!" ) val api = MessageApi(configuration) val result = api.Send(msg) println(result) } }
Wie man das Scala-SMS-Beispiel verwendet:
Dieses Scala-SMS-Beispiel kann in jeder Scala-Anwendung verwendet werden. Um es zu verwenden, müssen Sie die Ozeki.Libs.Rest-Bibliothek herunterladen. Nachdem die Bibliothek heruntergeladen wurde, müssen Sie einen Verweis darauf in Ihrem Scala-Quellcode hinzufügen. Dies ermöglicht Ihnen die Verwendung der Klassen der Ozeki.Libs.Rest-Bibliothek. Sie können die Message-Klasse verwenden, um die SMS zu erstellen. Sie können die MessageApi-Klasse verwenden, um die SMS an das SMS-Gateway zu senden. Das SMS-Gateway leitet Ihre Nachricht entweder über eine drahtlose Verbindung oder über das Internet an das Mobilfunknetz weiter.
SendSms.scala herunterladen
Der in diesem Artikel erklärte Quellcode kann kostenlos heruntergeladen, verwendet und modifiziert werden.
Download: SendSms.scala.zip (96.4Kb)
Was befindet sich in der SendSms.scala.zip-Datei?
In der SendSms.scala.zip finden Sie ein InteliJ-Projekt mit einem Quellordner und im Quellordner (src) finden Sie die Ozeki.Libs.Rest-Bibliothek und die main.scala-Datei, die den Beispielcode enthält, der Ihnen zeigt, wie Sie eine SMS senden können. Dieser Beispielcode ist unten aufgeführt.
Wie man SMS von Scala aus sendet (Einfache Anleitung)
Um SMS von Scala aus zu senden:
- Installieren Sie einen HTTP-API-Benutzer
- Aktivieren Sie "Log communication events" auf dem Advanced-Tab
- Richten Sie Visual Studio ein
- Laden Sie die SendSms.scala.zip-Datei herunter und entpacken Sie sie
- Öffnen Sie das SendSms.scala-Projekt mit der InteliJ IDE
- Starten Sie die Ozeki SMS Gateway App
- Führen Sie den SendSend.scala Scala-Code aus, indem Sie ihn in der IntelliJ IDE ausführen
- Ü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 von Scala aus senden zu können, müssen Sie zuerst Ozeki SMS Gateway installieren. Das SMS-Gateway kann auf demselben Computer installiert werden, auf dem Sie Ihren Scala-Code in einem beliebigen Texteditor wie Windows Notepad 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-GUI aus 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 Scala-Code ausführen.
HTTP-API-URL zum Senden von SMS von Scala aus
Um SMS von Scala aus zu senden, muss Ihre Scala 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 Scala-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 Scala aus
Um den Scala-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 ist: base64(Benutzername+":"+Passwort). In Scala können Sie den folgenden Code verwenden, um diese Kodierung durchzuführen:
val usernamePassword = "%s:%s".format(Username, Password).getBytes() val usernamePasswordEncoded = Base64.getEncoder.encodeToString(usernamePassword) "Basic %s".format(usernamePasswordEncoded)
Wenn Sie beispielsweise den Benutzernamen 'http_user' und das Passwort 'qwe123' kodieren, erhalten Sie die folgende base64-kodierte Zeichenkette: aHR0cF91c2VyOnF3ZTEyMw==. Um zu senden
HTTP-Anfrageheader zum Senden von SMS von Scala aus
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 von SMS aus Scala
Um die SMS zu übermitteln, sendet Ihre Scala-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 HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA Connection: Upgrade, HTTP2-Settings Upgrade: h2c Content-Length: 327 Content-Type: application/json Accept: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: Java-http-client/16.0.1 { "messages": [ { "message_id":"2f8aa62a-bdad-436b-a824-2aba0a79c39f", "to_address":"+36201111111", "text":"Hallo Welt!", "create_date":"2021-07-15T08:59:28", "valid_until":"2021-07-22T08:59:28", "time_to_send":"+1000000000-01-01T00:00:00", "submit_report_requested":true, "view_report_requested":true, "delivery_report_requested":true } ] }
HTTP-Antwort, die vom Scala-SMS-Beispiel empfangen wurde
Sobald das SMS-Gateway diese Anfrage erhält, generiert es eine HTTP-Antwort. Die HTTP-Antwort enthält einen Statuscode, der angibt, 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: Thu, 15 Jul 2021 08:08:03 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Nachrichten wurden zur Zustellung in die Warteschlange gestellt.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "2f8aa62a-bdad-436b-a824-2aba0a79c39f", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hallo Welt!", "create_date": "2021-07-15 08:59:28", "valid_until": "2021-07-22 08:59:28", "time_to_send": "2021-07-15 08:59:28", "submit_report_requested": true, "delivery_report_requested": true, "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
Wir gehen davon aus, dass Sie bereits Ozeki SMS Gateway installiert haben und es mit dem Mobilfunknetz verbunden haben. Um SMS von Scala an ein Mobiltelefon senden zu können, müssen Sie ein HTTP-API-Benutzerkonto in Ozeki SMS Gateway einrichten.
Wie man SMS von Scala aus mit der Scala-SMS-API sendet (Video-Tutorial)
Dieses Video zeigt Ihnen, wie Sie die Datei SendSms.scala.zip von dieser Seite herunterladen. Wenn Sie das Video ansehen, werden Sie feststellen, dass der Inhalt der SendSms.scala-Zip auf den Windows-Desktop platziert wird. Sie werden auch sehen, dass wir die Eingabeaufforderung verwenden, um die SMS zu senden.
Scala-SMS-Beispiel: SendSms.scala
Der Beispielcode unten ist Teil der SendSms.scala.
Wie man überprüft, 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 in der Ozeki SMS Gateway-Verwaltungskonsole öffnen. Das folgende Video zeigt Ihnen, worauf Sie achten müssen.
Wie man überprüft, ob die SMS an das Mobilfunknetz gesendet wurde
Der letzte Schritt zur Überprüfung des Vorgangs besteht darin, sich die Protokolle der Mobilfunknetzverbindung anzusehen. 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.
Empfangen einer SMS-Nachricht auf einem Android-Handy
In diesem Video sehen Sie, wie das Empfangen einer SMS auf einem Android-Handy aussieht. Das Video beginnt mit einer gewöhnlichen Android-Startseite, und Sie werden sehen, wie eine SMS-Benachrichtigung aufpoppt und wie Sie die vollständige SMS öffnen können. Das Video ist nur 18 Sekunden lang und es lohnt sich, es anzusehen, da Sie den gesamten SMS-Empfangsprozess sehen werden.
Zusammenfassung
Dieser Artikel sollte die Schritte zum Senden von SMS in Scala mit Hilfe von Ozeki SMS Gateway zeigen. Wenn die Schritte sorgfältig befolgt wurden, sollte das Versenden von Nachrichten mit Scala-Codes und Ozeki SMS Gateway kein Problem sein. Ozeki SMS Gateway ermöglicht es Ihnen, SMS-Nachrichten in einer Datenbank zu protokollieren und bietet mehrere Berichtsfunktionen, um Ihnen mehr Informationen über die SMS-Kommunikation zu geben.
Lesen Sie weiter auf der Tutorial-Seite von Ozeki, wo Sie weitere interessante Artikel zu Themen wie SMS-Planung in Scala finden.
Das Einzige, was jetzt noch zu tun bleibt, ist, Ozeki SMS Gateway herunterzuladen und loszulegen!
More information
- Scala SMS mit der HTTP-REST-API senden (Codebeispiel)
- Scala mehrere SMS mit der HTTP-REST-API senden (Codebeispiel)
- Scala SMS mit der HTTP-REST-API planen (Codebeispiel)
- Scala SMS mit der HTTP-REST-API empfangen (Codebeispiel)
- Scala SMS mit der HTTP-REST-API löschen (Codebeispiel)
- So laden Sie die neueste Scala-SMS-Bibliothek von Github herunter