SMS in Perl empfangen

Auf dieser Seite können Sie lernen, wie Sie Ihre Perl-Anwendung verwenden können, um SMS-Nachrichten zu empfangen. Dieses Perl-Beispiel ist in der Lage, eingehende Nachrichten vom SMS-Gateway zu sammeln und in der Anwendung zu verwenden. Es führt diese Operation mithilfe von HTTP-Anfragen durch. Diese Anleitung zeigt, wie einfach Sie eine Perl-Anwendung erstellen und auf Ihrem Computer ausführen können. Also, fangen wir gleich an.

Was ist eine Perl-SMS-API?

Die Perl-SMS-API ermöglicht das Versenden von SMS-Nachrichten aus einem in Perl geschriebenen Programm. Sie verwendet HTTP-Anfragen und SSL-verschlüsselte Kommunikation, um die SMS-Sendeanfrage an das SMS-Gateway weiterzuleiten.

Voraussetzungen

SMS in Perl empfangen

  1. Öffnen Sie Notepad
  2. Kopieren Sie den Beispielcode von dieser Seite und fügen Sie ihn ein
  3. Speichern Sie die Datei als ReceiveSMS.pl
  4. Öffnen Sie das Ozeki SMS Gateway und wählen Sie die HTTP-Server-Verbindung
  5. Öffnen Sie das HTML-Formular der HTTP-Server-Verbindung
  6. Senden Sie einige Testnachrichten
  7. Öffnen Sie die Eingabeaufforderung
  8. Geben Sie 'perl ReceiveSMS.pl' in die Eingabeaufforderung ein und drücken Sie Enter

Video 1 - Wie man SMS in Perl empfängt (Video-Tutorial)

Der untenstehende Beispielcode kann kostenlos in Ihrer eigenen Lösung oder Anwendung verwendet werden und Sie können ihn bei Bedarf anpassen. Der Beispielcode kann Nachrichten vom SMS-Gateway sammeln und in der Perl-Anwendung verwenden. Wenn Sie das Beispiel testen möchten, folgen Sie einfach den Schritt-für-Schritt-Anleitungen unten oder schauen Sie sich das Video an, das alle Schritte zeigt, die Sie ausführen müssen, um das Perl-SMS-Beispiel auszuführen.

#!/usr/bin/perl 
use strict; 
use warnings; 
use XML::Simple;
use Data::Dumper;
require HTTP::Request;
require LWP::UserAgent;

sub main
{
    my $username = "john";
	my $password = "Xc3ffs";
	my $httpUrl = "https://127.0.0.1:9508/";
	my $folder = "inbox";
	my $limit = "3";

    my $sendString = $httpUrl."api?action=receivemessage&username="
                    .$username."&password=".$password."&folder="
                    .$folder."&limit=".$limit
                    ."&messagedata=&afterdownload=delete";
    
    print "Sending html request: ".$sendString."\n\n";

	my $request = HTTP::Request->new(GET => $sendString);
	my $ua = LWP::UserAgent->new (
   			ssl_opts => { verify_hostname => 0 },
			);
	my $response = $ua->request($request);
	print "Http response received :\n";

	DisplayMessages($response->content)
}

main();

sub DisplayMessages {
	my $data = XMLin(@_);
	my $sender = "";
	my $text = "";
 	if($data->{data}->{message} eq 'No more messages.')	{
 		print "The inbox is empty!";
 		return;
 	}

	if (ref($data->{data}->{message}) eq 'ARRAY') {
		foreach my $value (@{ $data->{data}->{message} }) {
			$sender = $value->{originator};
			$text =  $value->{messagedata};
			DisplayMessage($sender,$text);
		}
	} 
	else {
		$sender = $data->{data}->{message}->{originator};
		$text = $data->{data}->{message}->{messagedata};
		DisplayMessage($sender,$text);
	}
}

sub DisplayMessage {
	print $_[0].": ".$_[1]."\n";
}

Schritt 1 - Notepad öffnen

Das erste, was Sie tun müssen, um diese Anleitung abzuschließen, ist die Erstellung der Perl-Datei, die Sie ausführen müssen, um zu sehen, wie sie SMS-Nachrichten vom SMS-Gateway abruft. Dazu müssen Sie die Notepad-Anwendung auf Ihrem Computer öffnen, um die Perl-Datei zu erstellen. Klicken Sie dazu einfach wie in Abbildung 1 auf das Symbol auf dem Desktop.

Notepad öffnen
Abbildung 1 - Notepad-Texteditor öffnen

Schritt 2 - Perl-Quellcode von dieser Seite kopieren

Als Nächstes müssen Sie den Perl-Quellcode von dieser Seite abrufen, um ihn auf Ihrem Computer zu verwenden. Scrollen Sie einfach zum Beispielcode-Abschnitt und markieren Sie den gesamten Quellcode. Dann, wie in Abbildung 2 zu sehen, müssen Sie ihn in Ihre Zwischenablage kopieren. Dies kann durch Drücken von Strg+C auf Ihrer Tastatur erfolgen.

Perl-Code kopieren
Abbildung 2 - Perl-Quellcode von der Website kopieren

Schritt 3 - Fügen Sie den Code in die Textdatei ein

Nachdem Sie den Perl-Quellcode von dieser Seite kopiert haben, müssen Sie ihn in ein Textdokument einfügen. Gehen Sie dazu einfach zur zuvor geöffneten Notepad-Anwendung und drücken Sie, wie in Abbildung 3 zu sehen, Strg+V auf Ihrer Tastatur, um den gesamten Quellcode in das Textdokument einzufügen.

Perl-SMS-Quellcode einfügen
Abbildung 3 - Perl-SMS-Quellcode in Notepad einfügen

Schritt 4 - Speichern Sie den Text als Perl-Datei

Der Quellcode befindet sich nun im Textdokument, hat aber noch nicht das richtige Dateiformat. Das ist jedoch kein großes Problem, da Sie es leicht mit Notepad beheben können. Wählen Sie einfach die Option "Speichern unter" und verwenden Sie hier, nachdem Sie der Datei einen Namen gegeben haben, die Dateiendung '.pl', wie in Abbildung 4 dargestellt. Wenn Sie auf "Speichern" klicken, wird die Datei im richtigen Perl-Dateiformat gespeichert, das Sie später ausführen müssen.

Perl-Datei speichern
Abbildung 4 - Datei als ReceiveSMS.pl speichern

Schritt 5 - Senden Sie einige Testnachrichten

Nachdem Sie die Perl-Datei eingerichtet haben, benötigen Sie einige Nachrichten in Ihrem Posteingang. Um den Test schnell abzuschließen, können Sie eingehende Nachrichten mit der HTTP-Server-Verbindung in der SMS Gateway simulieren. Falls Sie diese Verbindung noch nicht konfiguriert haben, können Sie hier sehen, wie Sie eine HTTP-Server-Verbindung konfigurieren. Öffnen Sie also die SMS Gateway und wählen Sie die HTTP-Server-Verbindung. Im Menü der Verbindung öffnen Sie das HTML-Formular (Abbildung 5). Hier können Sie einige Nachrichten an die SMS Gateway senden, indem Sie den Empfänger auf 'Ozeki' setzen.

eingehende SMS simulieren
Abbildung 5 - Einige eingehende SMS simulieren

Schritt 6 - Öffnen Sie die Eingabeaufforderung

Um den Perl-Code auszuführen, benötigen Sie die Eingabeaufforderung, da sie eine einfache Möglichkeit bietet, den Code auszuführen. Öffnen Sie zunächst den Datei-Explorer und navigieren Sie zu dem Ordner, in dem Sie Ihre Perl-Datei gespeichert haben. Geben Sie hier, wie in Abbildung 6 zu sehen, 'cmd' in den Datei-Explorer ein. Wenn Sie Enter drücken, öffnet sich die Eingabeaufforderung in einem neuen Fenster.

Abbildung 6 - Eingabeaufforderung öffnen

Schritt 7 - Führen Sie das Perl-SMS-Beispiel aus

Das Letzte, was Sie tun müssen, ist das Perl-Programm auszuführen. Dazu müssen Sie einfach einen einfachen Befehl in der Eingabeaufforderung eingeben. Der Befehl lautet 'perl *Dateiname*.pl', wie in Abbildung 7 gezeigt. Drücken Sie dann Enter, um das Beispielprogramm auszuführen. Das Programm gibt die HTTP-Anfrage aus, die an die SMS Gateway gesendet wurde, und zeigt auch die Antwortnachricht von der SMS Gateway an. Diese enthält alle Nachrichten, die von der SMS Gateway empfangen wurden.

Perl-Code ausführen
Abbildung 7 - Perl-Code in der Eingabeaufforderung ausführen

Abschließende Gedanken

Im obigen Artikel haben Sie gelernt, wie Sie SMS mit Perl empfangen können. Die Verwendung eines Perl-Skripts zum Sammeln eingehender Nachrichten bedeutet, dass Sie diese Nachrichten in einem PHP-Projekt verwenden können. Sie können damit beginnen, den SMS-Empfang und -Versand mit der Leistung von Perl und der Ozeki SMS Gateway zu automatisieren. Dank der Ozeki SMS Gateway werden Sie keine Leistungsprobleme haben, da die Gateway-Software eine Kapazität von 1000 SMS pro Sekunde bietet. Dies wird die Kommunikation innerhalb Ihrer Organisation oder mit Ihren Kunden erheblich verbessern.

Besuchen Sie unsere Webseite, wenn Sie mehr über alle Programmiersprachen erfahren möchten, die die Ozeki SMS Gateway unterstützt. Sie können den Artikel über die Verwaltung von SMS mit Python lesen.

Wenn Sie mit einer leistungsstarken SMS Gateway-Software arbeiten möchten, laden Sie die Ozeki SMS Gateway herunter!