Hogyan küldjünk SMS-t Perl nyelven

A legegyszerűbb módja az SMS küldésének Perl nyelven az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használod, SMS üzeneteket küldhetsz HTTP POST kérések kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumban formázott üzenetet tartalmaz. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonszámára, majd egy HTTP 200 OK választ küld vissza a kérésedre.

hogyan küldjünk sms-t perl nyelven
1. ábra - Hogyan küldjünk SMS-t Perl nyelven

Perl kód SMS küldésére mobiltelefonra

Az alábbi Perl SMS kód minta bemutatja, hogyan küldhetsz SMS-t az Ozeki SMS Gateway HTTP REST SMS API-jával a Perl Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető, és bármilyen projektben felhasználhatod és módosíthatod.

SendSms.pl
use 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 } = "Hello world!";

my $api = new Ozeki::Libs::Rest::MessageApi($configuration);

my $result = $api->Send($msg);

print($result->stringify);
	

Hogyan használd a Perl SMS példát:

Ez a Perl SMS példa bármilyen Perl alkalmazásban használható. A használathoz hozzá kell adnod az Ozeki.Libs.Rest könyvtárat a projektedhez. A könyvtár hozzáadása után a Perl forráskódod fejléc részébe be kell illesztened a using Ozeki.Libs.Rest; direktívát. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. A Message osztály segítségével hozhatod létre az SMS-t. A MessageApi osztály segítségével elküldheted az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobilhálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.

SendSms.pl letöltése

A cikkben ismertetett forráskód ingyenesen letölthető, használható és módosítható.
Letöltés: SendSms.pl.zip (76.0Kb)

Mi található a SendSms.pl.zip fájlban?

A SendSms.pl.zip fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS küldéséhez és fogadásához. A zip fájlban megtalálod a SendSms.pl fájlt is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldjél SMS-t. Ez a példakód alább látható.

2. ábra - Mi található a SendSms.pl.zip fájlban

Függőségek

Az Ozeki::Libs::Rest könyvtár használatához néhány modult telepítened kell:

Ubuntu

$ sudo apt-get install libdatetime-perl
$ cpan
$ install JSON
$ install UUID::Generator::PurePerl
$ install UUID::Object
	

1. kód - Hogyan telepítsd a függőségeket Linuxon

Hogyan telepítsd a Perl függőségeket Linuxon (Videó útmutató)

Ebben a videóban bemutatjuk, hogyan telepítheted a Perl függőségeket Linux operációs rendszeren. A videó egy terminál megnyitásával kezdődik, és a függőségek telepítésével ér véget. A videó mindössze 1:10 perc hosszú, de részletesen elmagyarázza a folyamatot. Ha végignézed az egész videót, nem lesz gondod a lépések reprodukálásával.

1. videó - Hogyan telepítsd a Perl függőségeket Linuxon (Videó útmutató)

Windows

cpanm DateTime
cpanm UUID::Generator::PurePerl
cpanm UUID::Object
cpanm JSON
	

2. kód - Hogyan telepítsd a függőségeket Windows-on

Hogyan telepítsd a Perl függőségeket Windows-on (Videó útmutató)

Ebben a videóban bemutatjuk, hogyan telepítheted a Perl függőségeket Windows operációs rendszeren. A videó egy parancssor megnyitásával kezdődik, és a függőségek telepítésével ér véget. A videó mindössze 46 másodperc hosszú, de részletesen elmagyarázza a folyamatot. A folyamat könnyen követhető, így a videó segítségével nem lesz gondod a lépések követésével.

2. videó - Hogyan telepítsd a Perl függőségeket Windows-on (Videó útmutató)

Hogyan küldjünk SMS-t Perl nyelven (Egyszerű útmutató)

Az SMS küldéséhez Perl nyelven:

  1. Telepíts egy HTTP API felhasználót
  2. Kapcsold be a "Log communication events" opciót az Advanced fülön
  3. Töltsd le, majd csomagold ki a SendSms.pl.zip fájlt
  4. Nyisd meg a sendsms.pl fájlt bármilyen szövegszerkesztőben
  5. Indítsd el az Ozeki SMS Gateway alkalmazást
  6. Futtasd a SendSms.pl Perl kódot a parancssorban
  7. Ellenőrizd a naplókat, hogy az SMS elküldődött-e

Telepítsd az Ozeki SMS Gateway-t és hozz létre egy HTTP API felhasználót

Ahhoz, hogy SMS-t tudj küldeni Perl nyelven, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Perl kódodat fejleszted, akár Windows Notepad-ben vagy Visual Studio Code-ban. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobilhálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobilhálózati kapcsolatod működik. A környezet előkészítésének utolsó lépése, hogy létrehozol egy HTTP SMS API felhasználót. Hozz létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.

Miután a környezet be van állítva, futtathatod a Perl kódodat.

HTTP API URL az SMS küldéséhez Perl nyelven

Ahhoz, hogy SMS-t küldj Perl nyelven, a Perl alkalmazásodnak HTTP kérést kell küldenie az SMS gateway felé. Az API URL alább látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét írd be. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a Perl SMS alkalmazás fut, ez lehet 127.0.0.1. Ha másik számítógépre van telepítve, annak IP címét kell megadni.

http://127.0.0.1:9509/api?action=rest
	

HTTP hitelesítés az SMS küldéséhez Perl nyelven

A Perl SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolású karakterláncként kell elküldened a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). Perl nyelven a következő kóddal végezheted el ezt a kódolást:

my ($self, $Username, $Password) = @_;
my $Username_Password = "${Username}:${Password}";
my $Username_Password_encoded = encode_base64($Username_Password);
return "Basic ${Username_Password_encoded}";
	

Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolású karakterláncot kapod: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP kérés fejléc az SMS küldéséhez Perl nyelven

Az SMS üzenetek küldéséhez a következő sorokat kell belefoglalnod a HTTP kérés fejlécébe. Figyeld meg, hogy tartalmazunk egy content type és egy Authorization fejlécet.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP kérés az SMS küldéséhez Perl nyelven

Az SMS beküldéséhez a Perl alkalmazásod egy olyan HTTP kérést küld, mint az alábbi. Figyeld meg, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolású adatkarakterlánc. Tartalmazza a címzett számát és az üzenet szövegét.

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": "Hello world!",
			"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 válasz, amit a Perl SMS példa kap

Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy státuszkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Ezenkívül egy JSON kódolású struktúrát is visszaad, amely hasznos információkat nyújt az üzenet beküldéséről.

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": "SUCCESS",
	"response_msg": "Messages queued for delivery.",
	"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": "Hello world!",
	      "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": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	

Csatlakoztasd az SMS gateway-t a mobilhálózathoz és hozz létre egy HTTP API felhasználói fiókot

Feltételezzük, hogy már telepítetted az Ozeki SMS Gateway-t, és csatlakoztattad a mobilhálózathoz. Ahhoz, hogy SMS-t tudj küldeni mobiltelefonra Perl nyelven, létre kell hoznod egy HTTP API felhasználói fiókot az Ozeki SMS Gateway-ben. Ebben a videóban bemutatjuk, hogyan hozhatsz létre egy új HTTP API felhasználói fiókot. A videó az Ozeki SMS gateway alkalmazás megnyitásával kezdődik, és végigvezet a HTTP API felhasználó létrehozásán. A folyamat során megtanulod, hogyan konfigurálhatsz egy új felhasználót és hogyan kapcsolhatod be a naplózási opciót. A videó mindössze 30 másodperc hosszú, és nagyon részletesen elmagyarázza a lépéseket. Nem lesz gondod a lépések megértésével.

3. videó - Mi a folyamat egy új HTTP API felhasználói fiók létrehozásánál (Videó útmutató)

Hogyan küldjünk SMS-t Perl nyelven a Perl SMS API segítségével (Videó útmutató)

Ez a videó bemutatja, hogyan töltheted le a SendSms.pl.zip fájlt erről az oldalról, és hogyan nyithatod meg a SendSms.pl fájlt a Jegyzettömbben. Ha megnézed a videót, észreveszed, hogy a SendSms.pl zip tartalma a Windows asztalra kerül. Azt is látni fogod, hogy a SendSms.pl fájlt a Windows Jegyzettömbjével nyitjuk meg.

4. videó - Hogyan töltsd le és állítsd be a fenti megoldást

Perl SMS példa: SendSms.pl

Az 1. ábrán láthatod a példaprojekt forráskódját. Ha ismered a Perl programozási nyelvet, nyugodtan módosíthatod a kódot saját igényeid szerint. Ez a kód egy SMS-t küld a toAddress változóban tárolt telefonszámra, a Text változóban tárolt szöveggel.

3. ábra - SendSms.pl fájl

Hogyan ellenőrizd, hogy az SMS-t elfogadta-e az HTTP felhasználó

Az SMS beküldése után érdemes ellenőrizni az SMS gateway-t, hogy mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén az HTTP felhasználó részleteinek megnyitásával ellenőrizheted. A következő videó bemutatja, hogy mire kell figyelni.

5. videó - Hogyan küldj SMS-t a fenti Perl kóddal (Videó útmutató)

Hogyan ellenőrizd, hogy az SMS-t elküldte-e a mobilhálózat

A folyamat ellenőrzésének utolsó lépése, hogy megnézed a mobilhálózati kapcsolat naplóit. Lehet, hogy be kell kapcsolnod a naplózást a kapcsolat beállításaiban, mielőtt elküldöd az üzenetet, hogy lásd a naplókat. Ha a naplózás be van kapcsolva, látni fogod a telefonszámot és az elküldött üzenet szövegét.

6. videó - Hogyan teszteld, hogy az SMPP kliens elfogadta-e a kérést (Videó útmutató)

Hogyan néz ki egy SMS fogadása Android telefonon (Videó útmutató)

Ebben a videóban láthatod, hogyan néz ki egy SMS üzenet fogadása Android eszközön. Egy átlagos android kezdőképernyővel kezdődik. Látni fogod az értesítést felbukkanni, majd a megnyitott Üzenetek alkalmazást az SMS-sel benne. A videó mindössze 18 másodperc hosszú, de tartalmazza az egész folyamatot.

7. videó - Hogyan néz ki egy SMS üzenet fogadása Android eszközön (Videó útmutató)

Összegzés

Ez az útmutató azt mutatta be, hogyan küldhetsz SMS-t Perl nyelven az Ozeki SMS Gateway segítségével. Ha mindent figyelmesen elolvastál, az üzenetküldés az ügyfeleiddel Perl nyelven az Ozeki SMS Gateway segítségével nem okozhat problémát. Fontos kiemelni, hogy az Ozeki SMS Gateway lehetővé teszi az SMS üzenetek adatbázisba történő naplózását és különféle jelentéskészítési lehetőségeket kínál az SMS kapcsolatról további információk nyújtásához.

Folytasd az olvasást az Ozeki oktatóoldalán, ahol további információkat találhatsz olyan témákról, mint SMS ütemezése Perl nyelven.

Most már csak annyi a teendő, hogy letöltöd az Ozeki SMS Gateway-t és elkezded a munkát!

More information