SMS fogadása Perl nyelven

Ezen az oldalon megtudhatod, hogyan használhatod a Perl alkalmazásodat SMS üzenetek fogadására. Ez a példa Perl forráskód képes begyűjteni a bejövő üzeneteket az SMS Gateway-ből és felhasználni azokat az alkalmazásban. Ezt a műveletet HTTP kérések segítségével végzi. Ez az útmutató bemutatja, milyen egyszerű Perl alkalmazást készíteni és futtatni a számítógépeden. Szóval, kezdjük is el most.

Mi az a Perl SMS API?

A Perl SMS API lehetővé teszi SMS üzenetek küldését Perl nyelven írt programból. HTTP kéréseket és SSL titkosított kommunikációt használ az SMS küldési kérés továbbításához az SMS Gateway felé.

Előfeltételek

SMS fogadása Perl nyelven

  1. Nyisd meg a Jegyzettömböt
  2. Másold be a példakódot erről az oldalról
  3. Mentsd el a fájlt ReceiveSMS.pl néven
  4. Nyisd meg az Ozeki SMS Gateway-t és válaszd ki a HTTP Server kapcsolatot
  5. Nyisd meg a HTTP Server kapcsolat HTML űrlapját
  6. Küldj néhány teszt üzenetet
  7. Nyisd meg a Parancssort
  8. Írd be a 'perl ReceiveSMS.pl' parancsot a Parancssorba és nyomj Entert

1. videó - Hogyan fogadjunk SMS-t Perl nyelven (Videó útmutató)

Az alábbi példakód szabadon felhasználható a saját megoldásodban vagy alkalmazásodban, és szükség szerint módosíthatod. A példakód képes begyűjteni az üzeneteket az SMS Gateway-ből és felhasználni azokat a Perl alkalmazásban. Ha tesztelni szeretnéd a példát, kövesd az alábbi lépésről lépésre útmutatót, vagy nézd meg a videót, amely világosan bemutatja az összes lépést, amit végre kell hajtanod a Perl SMS példa futtatásához.

#!/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";
}

1. lépés - Jegyzettömb megnyitása

Az első dolog, amit meg kell tenned ennek az útmutatónak a teljesítéséhez, hogy létrehozd a Perl fájlt, amelyet végre kell hajtanod, hogy lásd, hogyan kapja meg az SMS üzeneteket az SMS Gateway-ből. Ehhez most meg kell nyitnod a Jegyzettömb alkalmazást a számítógépeden, hogy létre tudd hozni a Perl fájlt. Ehhez, ahogy az az 1. ábrán is látható, kattints az asztalon lévő ikonjára.

jegyzettömb megnyitása
1. ábra - Jegyzettömb szövegszerkesztő megnyitása

2. lépés - A Perl forráskód másolása erről az oldalról

Ezután le kell másolnod a Perl forráskódot erről az oldalról, hogy használhasd a számítógépeden. Tehát görgess fel a példakód szakaszhoz, és jelöld ki a teljes forráskódot. Majd, ahogy az a 2. ábrán is látható, másold a vágólapodra. Ez megtehető a Ctrl+C billentyűkombinációval.

perl kód másolása
2. ábra - Perl forráskód másolása a weboldalról

3. lépés - A kód beillesztése a szövegfájlba

Miután másoltad a Perl forráskódot erről az oldalról, be kell illesztened egy szöveges dokumentumba. Ehhez lépj vissza a korábban megnyitott Jegyzettömb alkalmazáshoz, és ahogy az a 3. ábrán is látható, nyomd meg a Ctrl+V billentyűkombinációt, hogy beilleszd a teljes forráskódot a szöveges dokumentumba.

perl sms forráskód beillesztése
3. ábra - Perl SMS forráskód beillesztése a Jegyzettömbbe

4. lépés - A szöveg mentése Perl fájlként

A forráskód most már a szöveges dokumentumban van, de még mindig nem megfelelő a fájlformátuma. De ez nem nagy probléma, könnyedén megoldható a Jegyzettömb segítségével. Válaszd ki a "Mentés másként" lehetőséget, és itt, miután adtál nevet a fájlnak, használd a '.pl' fájlkiterjesztést, ahogy azt a 4. ábra is mutatja. Ha rákattintasz a "Mentés" gombra, a fájl a megfelelő Perl fájlformátumban lesz elmentve, amelyre később szükséged lesz a futtatáshoz.

perl fájl mentése
4. ábra - Fájl mentése ReceiveSMS.pl néven

5. lépés - Néhány teszt üzenet küldése

Miután beállítottad a Perl fájlt, szükséged lesz néhány üzenetre a bejövő mappádba. A teszt gyors befejezéséhez szimulálhatsz bejövő üzeneteket a HTTP Server kapcsolattal az SMS Gateway-ben. Ha még nem állítottad be ezt a kapcsolatot, itt láthatod, hogyan állíthatod be a HTTP Server kapcsolatot. Tehát nyisd meg az SMS Gateway-t, és válaszd ki a HTTP Server kapcsolatot. A kapcsolat menüjében nyisd meg a HTML űrlapot (5. ábra). Itt írhatsz néhány üzenetet az SMS Gateway-be úgy, hogy a címzettnek az 'Ozeki'-t állítod be.

bejövő sms szimulálása
5. ábra - Néhány bejövő SMS szimulálása

6. lépés - Parancssor megnyitása

A Perl kód futtatásához szükséged lesz a Parancssorra, mivel ez egyszerű módot biztosít a kód végrehajtásához. Tehát először nyisd meg a Fájlkezelőt, és navigálj abba a mappába, ahová elmentetted a Perl fájlodat. Itt, ahogy az a 6. ábrán is látható, írd be a 'cmd'-t a Fájlkezelőbe. Ha megnyomod az Entert, a Parancssor egy új ablakban megnyílik.

6. ábra - Parancssor megnyitása

7. lépés - A Perl SMS példa futtatása

Az utolsó dolog, amit meg kell tenned, az a Perl program végrehajtása. Ehhez csak egy egyszerű parancsot kell végrehajtanod a Parancssorban. A parancs a 'perl *fájlnév*.pl' ahogy azt a 7. ábra is mutatja. Ezután nyomj Entert a példaprogram futtatásához. A program kiírja az SMS Gateway felé küldött HTTP kérést, valamint az SMS Gateway-től kapott válaszüzenetet is. Ez tartalmazza az összes olyan üzenetet, amelyet az SMS Gateway fogadott.

perl kód futtatása
7. ábra - Perl kód futtatása a Parancssorban

Végső gondolatok

A fenti cikkben megtanultad, hogyan fogadj SMS-t Perl nyelven. Egy Perl szkript használata a bejövő üzenetek gyűjtésére azt jelenti, hogy felhasználhatod ezeket az üzeneteket egy PHP projektben. Elkezdheted automatizálni az SMS fogadást és küldést a Perl és az Ozeki SMS Gateway erejével. Az Ozeki SMS Gateway köszönhetően nem lesznek teljesítményproblémáid a gateway szoftver másodpercenként 1000 SMS kezelési képessége miatt. Ez jelentősen javítja a kommunikációt a szervezeten belül vagy az ügyfeleiddel.

Látogass el weboldalunkra, ha többet szeretnél megtudni az összes programozási nyelvről, amellyel az Ozeki SMS Gateway képes kezelni az SMS-eket. Elérheted a cikket az SMS-ek kezeléséről PHP vagy Python nyelven.

Ha egy nagy teljesítményű SMS Gateway szoftverrel szeretnél dolgozni, töltsd le az Ozeki SMS Gateway-t!