Hogyan küldjünk több SMS-t Perl nyelven
A legegyszerűbb módja több 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, az SMS üzeneteket egy HTTP POST kéréssel küldöd el az SMS gatewaynek. 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.
Perl kód több SMS mobilra küldéséhez
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 használható, és bármilyen projektben felhasználható vagy módosítható.
SendMultipleSms.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 $msg1 = new Ozeki::Libs::Rest::Message(); $msg1->{ ToAddress } = "+36201111111"; $msg1->{ Text } = "Hello world 1"; my $msg2 = new Ozeki::Libs::Rest::Message(); $msg2->{ ToAddress } = "+36202222222"; $msg2->{ Text } = "Hello world 2"; my $msg3 = new Ozeki::Libs::Rest::Message(); $msg3->{ ToAddress } = "+36203333333"; $msg3->{ Text } = "Hello world 3"; my $api = new Ozeki::Libs::Rest::MessageApi($configuration); my $result = $api->Send(( $msg1, $msg2, $msg3 )); print($result->stringify);
A Perl SMS példa használata:
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 az using Ozeki.Libs.Rest; direktívát kell elhelyezned a Perl forráskódod fejléc részébe. Ez lehetővé teszi, hogy használd az Ozeki.Libs.Rest könyvtár által nyújtott osztályokat. A Message osztály segítségével hozhatod létre az SMS-t. A MessageApi osztály segítségével küldheted az SMS üzeneteket 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.
SendMultipleSms.pl letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, használható és módosítható.
Letöltés: SendMultipleSms.pl.zip (76.1Kb)
Mi található a SendMultipleSms.pl fájlban?
A SendMultipleSms.pl fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A zip fájlban megtalálod a SendMultipleSms fájlt is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód az alábbiakban látható.
Hogyan küldjünk több SMS-t Perl nyelven (Gyors lépések)
Több SMS küldése Perl nyelven:
- Állítsd be a Strawberry Perl-t
- Töltsd le a SendMultipleSms.pl.zip fájlt
- Csomagold ki a .zip fájlt a Letöltések mappából
- Nyisd meg a SendSms.pl fájlt a Notepad vagy Visual Studio Code programban
- Indítsd el az Ozeki SMS Gateway-t
- Hozz létre egy HTTP API felhasználót az Ozeki-ben
- Futtasd a SendMultipleSms.pl Perl kódot a parancssorban
- Ellenőrizd a Sent mappát az Ozeki SMS Gateway-ben
Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása
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 a Visual Studio-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 az, hogy létrehozol egy HTTP SMS API felhasználói fiókot. 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állításra került, futtathatod a Perl kódodat.
HTTP API URL SMS küldéséhez Perl nyelven
Ahhoz, hogy SMS-t küldj Perl nyelven, a Perl alkalmazásodnak egy HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét kell beírnod. 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, akkor annak az IP címét kell megadnod.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés SMS küldéséhez Perl nyelven
A Perl SMS kliens hitelesítéséhez a felhasználónevet és a jelszót egy base64 kódolt sztringben 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ódot használhatod a kódoláshoz:
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ódolt sztringet kapod: aHR0cF91c2VyOnF3ZTEyMw==.
HTTP kérés fejléc SMS küldéséhez Perl nyelven
Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznia a HTTP kérés fejléc részének. Figyelj arra, hogy a tartalom típusát és az Authorization fejlécet is bele kell foglalnod.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés SMS küldéséhez Perl nyelven
Az SMS beküldéséhez a Perl alkalmazásodnak egy olyan HTTP kérést kell küldenie, mint az alábbi. Figyelj rá, 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ódolt adatsztring. Ez tartalmazza a címzett számát és az üzenet szövegét.
HTTP válasz, amelyet 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átusz kódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Emellett egy JSON kódolt struktúrát is visszaad, ami hasznos részleteket 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: Fri, 02 Jul 2021 16:00:35 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "ab4c1e78-db41-11eb-8298-c00c4d4e2ea7", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "create_date": "2021-07-02 14:27:45", "valid_until": "2021-07-09 14:27:45", "time_to_send": "2021-07-02 14:27:45", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "ab4c4523-db41-11eb-838d-c00c4d4e2ea7", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "create_date": "2021-07-02 14:27:45", "valid_until": "2021-07-09 14:27:45", "time_to_send": "2021-07-02 14:27:45", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "ab4c59cd-db41-11eb-82c0-c00c4d4e2ea7", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "create_date": "2021-07-02 14:27:45", "valid_until": "2021-07-09 14:27:45", "time_to_send": "2021-07-02 14:27:45", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] }
Perl SMS példa: SendMultipleSms.pl
Ebben a videóban láthatod a SendMultipleSMS.pl projekt letöltésének és beállításának folyamatát. A projekt letöltésével kezdődik, és a beállítás befejezésével ér véget. Megtanulod a beállítási folyamat összes lépését, amelyre szükséged van egy működő megoldáshoz. A videó 1:44 perc hosszú, de minden lépés részletesen bemutatásra kerül. A megtekintés után saját magad is letöltheted és beállíthatod a megoldást.
A példakód
A 3. ábrán láthatod a példakódot. Ez a példakód több SMS üzenetet küld több címzettnek. Ha ismered a Perl programozási nyelvet, nyugodtan módosíthatod a kódot saját igényeid szerint. Az összes olyan telefonszámra küld SMS-t, amely a 'ToAddress' változóban van tárolva, a Text változókban tárolt szöveggel.
Hogyan használd a példa projektfájlt (Videó útmutató)
Ebben a videóban láthatod a példa projekt működését. Megmutatjuk, mit kell tenned, hogy a projekt több SMS üzenetet küldjön egyetlen futtatással. A videó mindössze 1:12 perc hosszú, és tartalmazza az összes szükséges információt a program indításához. A megnyitott projekttel kezdődik, és az összes üzenet elküldésével ér véget.
Összefoglalás
A fenti útmutató bemutatta a több SMS küldésének lépéseit Perl nyelven az Ozeki SMS Gateway segítségével. Ha minden lépést gondosan követtél, képesnek kell lenned arra, hogy egy Perl kóddal és az Ozeki SMS Gateway-vel több ügyfélhez is eljuss. Ezzel a megoldással nagyszámú ügyfél kaphat SMS-t egyszerre. Fontos megjegyezni, hogy az Ozeki SMS Gateway nagy teljesítményt kínál, ami azt jelenti, hogy másodpercenként akár 1000 SMS-t is képes küldeni.
Ne fejezd be itt az olvasást, látogass el az Ozeki oktatóanyag oldalára, ahol további információkat találsz hasonló témákról, mint például az SMS ütemezés Perl nyelven.
Most már csak egy dolgod van: töltsd le az Ozeki SMS Gateway-t és kezdődhet a munka!
More information