Ako poslať viacero SMS z Perlu
Najjednoduchší spôsob, ako poslať viacero SMS z Perlu, je použiť vstavané HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy vydaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána pošle túto SMS na príjemcove telefónne číslo a vráti HTTP 200 OK odpoveď na vašu požiadavku.
Ukážka Perl SMS kódu nižšie demonštruje, ako môžete posielať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím knižnice Perl Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju použiť a upraviť v akomkoľvek z vašich projektov.
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);
Ako použiť Perl SMS príklad:
Tento Perl SMS príklad môže byť použitý v akejkoľvek Perl aplikácii. Na použitie je potrebné pridať knižnicu Ozeki.Libs.Rest do vášho projektu. Po pridaní knižnice musíte vložiť direktívu using Ozeki.Libs.Rest; do hlavičky vášho Perl zdrojového kódu. To vám umožní používať triedy poskytované knižnicou Ozeki.Libs.Rest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na odoslanie SMS správ na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď cez bezdrôtové pripojenie alebo cez internet.
Stiahnuť SendMultipleSms.pl
Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: SendMultipleSms.pl.zip (76.1Kb)
Súbor SendMultipleSms.pl obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. Nájdete tu aj súbor SendMultipleSms, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať SMS. Tento ukážkový kód je uvedený nižšie.
Na odoslanie viacerých SMS z Perlu:
- Nainštalujte Strawberry Perl
- Stiahnite súbor SendMultipleSms.pl.zip
- Extrahujte .zip súbor z priečinka Stiahnuté
- Otvorte súbor SendSms.pl v poznámkovom bloku alebo Visual Studio Code
- Spustite Ozeki SMS Gateway
- Vytvorte HTTP API používateľa v Ozeki
- Spustite Perl kód SendMultipleSms.pl v príkazovom riadku
- Skontrolujte priečinok Odoslané v Ozeki SMS Gateway
Na odosielanie SMS z Perlu je potrebné najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, kde vyvíjate svoj Perl kód v Visual Studio. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI na overenie, že vaše mobilné pripojenie funguje. Posledným krokom pri príprave vášho prostredia je vytvorenie HTTP SMS API používateľského účtu. Vytvorte používateľa s menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.
Po nastavení prostredia môžete spustiť svoj Perl kód.
HTTP API URL na odoslanie SMS z PerluNa odoslanie SMS z Perlu musí váš Perl vydať HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží Perl SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa toho počítača.
http://127.0.0.1:9509/api?action=rest
Na autentifikáciu Perl SMS klienta je potrebné odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Používa sa formát: base64(používateľské meno+":"+heslo). V Perli môžete použiť nasledujúci kód na toto kódovanie:
my ($self, $Username, $Password) = @_; my $Username_Password = "${Username}:${Password}"; my $Username_Password_encoded = encode_base64($Username_Password); return "Basic ${Username_Password_encoded}";
Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci base64 kódovaný reťazec: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie
HTTP hlavička požiadavky na odoslanie SMS z Perlu
Na odoslanie SMS správ musíte do hlavičky HTTP požiadavky zahrnúť nasledujúce riadky. Upozorňujeme, že obsahujeme typ obsahu a autorizačnú hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Na odoslanie SMS bude vaša Perl aplikácia posielať HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text správy.
Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Vráti tiež štruktúru zakódovanú v JSON, ktorá poskytne užitočné informácie o odoslaní správy.
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" } ] }
V tomto videu uvidíte proces sťahovania a nastavenia projektu SendMultipleSMS.pl. Začne sa sťahovaním projektu a skončí nastavením. Dozviete sa všetky kroky nastavenia, ktoré potrebujete urobiť, aby ste mali funkčné riešenie. Video je dlhé 1:44, ale všetky kroky sú zobrazené veľmi podrobne. Po jeho zhliadnutí by ste mohli riešenie stiahnuť a nastaviť sami.
Príklad kódu
Na obrázku 3 môžete vidieť príklad kódu. Tento príklad kódu odošle viacero SMS správ viacerým príjemcom. Ak ovládate programovací jazyk Perl, kód môžete podľa potreby upraviť. Odošle SMS na všetky telefónne čísla uložené v premennej 'ToAddress', s textom uloženým v premenných Text.
V tomto videu uvidíte príklad projektu v praxi. Ukážeme vám, čo musíte urobiť, aby projekt odoslal viacero SMS správ len jedným spustením. Video je dlhé len 1:12 a obsahuje všetky informácie, ktoré potrebujete na spustenie programu. Začne sa otvorením projektu a skončí odoslaním všetkých správ.
Zhrnutie
Sprievodca vyššie vysvetlil kroky odosielania viacerých SMS v Perli s Ozeki SMS Gateway. Ak ste dodržali všetky kroky pozorne, mali by ste byť schopní osloviť viacerých klientov jedným Perl kódom a Ozeki SMS Gateway. S týmto riešením môže veľký počet zákazníkov dostať svoje SMS súčasne. Dôležité je poznamenať, že Ozeki SMS Gateway ponúka vysoký výkon, čo znamená, že môže odoslať až 1000 SMS za sekundu.
Uistite sa, že nekončíte čítaním tu, navštívte stránku s návodmi Ozeki, kde nájdete viac informácií o podobných témach, ako je plánovanie SMS v Perli.
Jediné, čo teraz musíte urobiť, je stiahnuť Ozeki SMS Gateway a nechať prácu začať!
More information
- Perl send SMS with the HTTP rest API (code sample)
- Perl send multiple SMS with the HTTP rest API (code sample)
- Perl schedule SMS with the HTTP rest API (code sample)
- Perl receive SMS with the HTTP rest API (code sample)
- Perl delete SMS with the HTTP rest API (code sample)
- How to download the latest Perl SMS library from Github