SMS mit Perl versenden
Der einfachste Weg, SMS mit Perl zu versenden, ist die Verwendung der integrierten HTTP/Rest-SMS-API des Ozeki SMS Gateways. 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 die Empfängertelefonnummer und gibt eine HTTP-200-OK-Antwort auf Ihre Anfrage zurück.
Perl-Code zum Senden von SMS an Mobiltelefone
Das folgende Perl-SMS-Codebeispiel zeigt, wie Sie SMS mit der HTTP-Rest-SMS-API des Ozeki SMS Gateways unter Verwendung der Perl-Bibliothek Ozeki.Libs.Rest senden können. Diese Bibliothek wird Ihnen kostenlos zur Verfügung gestellt und Sie können sie in Ihren Projekten verwenden und nach Belieben anpassen.
SendSms.pluse Ozeki::Libs::Rest::Configuration; use Ozeki::Libs::Rest::MessageApi; use Ozeki::Libs::Rest::Message; my $configuration = new Ozeki::Libs::Rest::Configuration(); $configuration->{ Username } = "http_user"; $configuration->{ Password } = "qwe123"; $configuration->{ ApiUrl } = "http://127.0.0.1:9509/api"; my $msg = new Ozeki::Libs::Rest::Message(); $msg->{ ToAddress } = "+36201111111"; $msg->{ Text } = "Hallo Welt!"; my $api = new Ozeki::Libs::Rest::MessageApi($configuration); my $result = $api->Send($msg); print($result->stringify);
So verwenden Sie das Perl-SMS-Beispiel:
Dieses Perl-SMS-Beispiel kann in jeder Perl-Anwendung verwendet werden. Um es zu nutzen, müssen Sie die Ozeki.Libs.Rest-Bibliothek zu Ihrem Projekt hinzufügen. Nachdem die Bibliothek hinzugefügt wurde, müssen Sie die Direktive use Ozeki::Libs::Rest; in den Kopfbereich Ihres Perl-Quellcodes einfügen. Dadurch können Sie die Klassen der Ozeki.Libs.Rest-Bibliothek verwenden. Mit der Message-Klasse können Sie die SMS erstellen. Mit der MessageApi-Klasse können Sie die SMS an das SMS-Gateway senden. Das SMS-Gateway leitet Ihre Nachricht entweder über eine drahtlose Verbindung oder über das Internet an das Mobilfunknetz weiter.
SendSms.pl herunterladen
Der in diesem Artikel erklärte Quellcode kann kostenlos heruntergeladen, verwendet und angepasst werden.
Download: SendSms.pl.zip (76.0Kb)
Was befindet sich in der SendSms.pl.zip-Datei?
Die Datei SendSms.pl.zip enthält die Ozeki.Libs.Rest-Bibliothek, die Ihnen alle notwendigen Werkzeuge zum Senden und Empfangen von SMS-Nachrichten bietet. Sie finden auch die Datei SendSms.pl im Zip-Archiv, die den Beispielcode enthält, der Ihnen zeigt, wie Sie eine SMS versenden. Dieser Beispielcode ist unten aufgeführt.
Abhängigkeiten
Um die Ozeki::Libs::Rest-Bibliothek zu verwenden, müssen Sie einige Module installieren:
Ubuntu
$ sudo apt-get install libdatetime-perl $ cpan $ install JSON $ install UUID::Generator::PurePerl $ install UUID::Object
Installation der Perl-Abhängigkeiten unter Linux (Video-Tutorial)
In diesem Video zeigen wir Ihnen, wie Sie die Abhängigkeiten von Perl unter Linux installieren. Das Video beginnt mit dem Öffnen eines Terminals und endet mit der Installation der Abhängigkeiten. Das Video ist nur 1:10 Minuten lang, erklärt den Prozess aber detailliert. Wenn Sie das gesamte Video ansehen, werden Sie keine Probleme haben, die Schritte nachzuvollziehen.
Windows
cpanm DateTime cpanm UUID::Generator::PurePerl cpanm UUID::Object cpanm JSON
Installation der Perl-Abhängigkeiten unter Windows (Video-Tutorial)
In diesem Video zeigen wir Ihnen, wie Sie die Abhängigkeiten von Perl unter Windows installieren. Das Video beginnt mit dem Öffnen einer Eingabeaufforderung und endet mit der Installation aller Abhängigkeiten. Das Video ist nur 46 Sekunden lang, erklärt den Prozess aber detailliert. Der Vorgang ist einfach, sodass Sie mit Hilfe dieses Videos keine Probleme haben werden, die Schritte zu befolgen.
SMS mit Perl versenden (Einfache Anleitung)
So senden Sie SMS mit Perl:
- Installieren Sie einen HTTP-API-Benutzer
- Aktivieren Sie "Log communication events" auf der Registerkarte "Advanced"
- Laden Sie die Datei SendSms.pl.zip herunter und entpacken Sie sie
- Öffnen Sie die Datei sendsms.pl in einem Texteditor
- Starten Sie die Ozeki SMS Gateway App
- Führen Sie den Perl-Code SendSms.pl in der Eingabeaufforderung aus
- Ü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 Perl 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 Perl-Code in Windows Notepad oder Visual Studio Code entwickeln. Nach der Installation ist der nächste Schritt, Ozeki SMS Gateway mit dem Mobilfunknetz zu verbinden. Sie können 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 Perl-Code ausführen.
HTTP-API-URL zum Senden von SMS von Perl aus
Um SMS von Perl aus zu senden, muss Ihr Perl-Skript eine HTTP-Anfrage an das SMS-Gateway senden. 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 Perl-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 Perl aus
Um den Perl-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 Perl können Sie den folgenden Code verwenden, um diese Kodierung durchzuführen:
my ($self, $Username, $Password) = @_; my $Username_Password = "${Username}:${Password}"; my $Username_Password_encoded = encode_base64($Username_Password); return "Basic ${Username_Password_encoded}";
Wenn Sie beispielsweise den Benutzernamen 'http_user' und das Passwort 'qwe123' kodieren, erhalten Sie die folgende base64-kodierte Zeichenkette: aHR0cF91c2VyOnF3ZTEyMw==. Zum Senden
HTTP-Anfrageheader zum Senden von SMS von Perl 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-Header und einen Authorization-Header einfügen.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP-Anfrage zum Senden von SMS von Perl aus
Um die SMS zu übermitteln, sendet Ihre Perl-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 Datenzeichenkette. Sie enthält die Empfängernummer und den Text der Nachricht.
POST /api?action=sendmsg HTTP/1.1 Connection: TE, close Content-Length: 341 Content-Type: application/json; charset=utf8 Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 Te: deflate,gzip;q=0.3 User-Agent: libwww-perl/6.52 { "messages": [ { "message_id": "fa32293f-db00-11eb-804d-ffacbeab4160", "to_address": "+36201111111", "text": "Hallo Welt!", "create_date": "2021-07-02T06:44:40", "valid_until": "2021-07-09T06:44:40", "time_to_send": "2021-07-02T06:44:40", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
HTTP-Antwort, die vom Perl-SMS-Beispiel empfangen wird
Sobald das SMS-Gateway diese Anfrage empfängt, wird es eine HTTP-Antwort generieren. 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: Tue, 29 Jun 2021 11:48:38 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "ERFOLG", "response_msg": "Nachrichten wurden zur Zustellung in die Warteschlange gestellt.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "fa32293f-db00-11eb-804d-ffacbeab4160", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hallo Welt!", "create_date": "2021-07-02 06:44:40", "valid_until": "2021-07-09 06:44:40", "time_to_send": "2021-07-02 06:44:40", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Typ", "value": "SMS:TEXT" } ], "status": "ERFOLG" } ] } }
Wir gehen davon aus, dass Sie bereits Ozeki SMS Gateway installiert und es mit dem Mobilfunknetz verbunden haben. Um SMS von Perl aus an ein Mobiltelefon senden zu können, müssen Sie ein HTTP API-Benutzerkonto in Ozeki SMS Gateway einrichten. In diesem Video erklären wir Ihnen den Prozess der Erstellung eines neuen HTTP API-Benutzerkontos. Das Video beginnt mit dem Öffnen der Ozeki SMS Gateway-Anwendung und führt Sie bis zur Erstellung des HTTP API-Benutzers. Während des Prozesses lernen Sie, wie Sie einen neuen Benutzer konfigurieren und die Protokollierungsoption aktivieren. Das Video ist nur 30 Sekunden lang und erklärt den Prozess sehr detailliert. Sie werden keine Probleme haben, die Schritte zu verstehen.
Wie Sie SMS von Perl aus mit der Perl SMS API senden (Video-Tutorial)
Dieses Video zeigt Ihnen, wie Sie die Datei SendSms.pl.zip von dieser Seite herunterladen und die Datei SendSms.pl in Notepad öffnen. Wenn Sie das Video ansehen, werden Sie feststellen, dass der Inhalt der SendSms.pl.zip auf den Windows-Desktop kopiert wird. Sie werden auch sehen, wie wir die SendSms.pl Datei mit Windows Notepad öffnen.
Perl SMS-Beispiel: SendSms.pl
Auf Abbildung 1 können Sie den Quellcode des Beispielprojekts sehen. Wenn Sie mit der Programmiersprache Perl vertraut sind, können Sie den Code nach Belieben anpassen. Dieser Code sendet eine SMS an die in der Variable toAddress gespeicherte Telefonnummer mit dem in der Variable Text gespeicherten Text.
Wie Sie überprüfen, 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 einsehen, 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 Sie überprüfen, ob die SMS an das Mobilfunknetz gesendet wurde
Der letzte Schritt zur Überprüfung des Verfahrens besteht darin, die Protokolle der Mobilfunknetzverbindung zu betrachten. 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 gesendeten Nachricht.
Wie das Empfangen einer SMS auf einem Android-Telefon aussieht (Video-Tutorial)
In diesem Video sehen Sie, wie das Empfangen einer SMS-Nachricht auf einem Android-Gerät aussieht. Es beginnt mit einer normalen Android-Startseite. Sie sehen die Benachrichtigung aufpoppen und dann die geöffnete Nachrichten-App mit der sichtbaren SMS darin. Das Video ist nur 18 Sekunden lang, zeigt aber den gesamten Prozess.
Fazit
Diese Anleitung sollte zeigen, wie Sie SMS in Perl mit Hilfe von Ozeki SMS Gateway senden. Wenn alles sorgfältig gelesen wurde, sollte die Nachrichtenübermittlung an Ihre Kunden in Perl mit Ozeki SMS Gateway keine Probleme bereiten. Es muss hervorgehoben werden, dass Ozeki SMS Gateway Ihnen ermöglicht, SMS-Nachrichten in einer Datenbank zu protokollieren und verschiedene Berichtsfunktionen bietet, um mehr Informationen über die SMS-Verbindung zu erhalten.
Lesen Sie weiter auf der Tutorial-Seite von Ozeki, wo Sie mehr Informationen zu Themen wie SMS-Planung in Perl finden.
Das Einzige, was jetzt noch zu tun ist, ist Ozeki SMS Gateway herunterzuladen und loszulegen!
More information
- Perl SMS mit der HTTP-REST-API senden (Codebeispiel)
- Perl mehrere SMS mit der HTTP-REST-API senden (Codebeispiel)
- Perl SMS mit der HTTP-REST-API planen (Codebeispiel)
- Perl SMS mit der HTTP-REST-API empfangen (Codebeispiel)
- Perl SMS mit der HTTP-REST-API löschen (Codebeispiel)
- So laden Sie die neueste Perl-SMS-Bibliothek von Github herunter