Kako poslati SMS iz Perl-a
Najenostavnejši način za pošiljanje SMS-ov iz Perl-a je uporaba vgrajenega HTTP/Rest SMS API-ja Ozeki SMS Gateway. Ko uporabljate ta API, boste SMS sporočila pošiljali z izdajo HTTP Post zahteve proti SMS prehodu. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS prehod bo poslal ta SMS prejemniku na telefon in vrnil HTTP 200 OK odgovor na vašo zahtevo.
Spodnji vzorec Perl SMS kode prikazuje, kako lahko pošiljate SMS-e z uporabo http rest sms api-ja Ozeki SMS Gateway z uporabo knjižnice Perl Ozeki.Libs.Rest. Ta knjižnica vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od vaših projektov.
SendSms.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 $msg = new Ozeki::Libs::Rest::Message(); $msg->{ ToAddress } = "+36201111111"; $msg->{ Text } = "Pozdravljen svet!"; my $api = new Ozeki::Libs::Rest::MessageApi($configuration); my $result = $api->Send($msg); print($result->stringify);
Kako uporabiti Perl SMS primer:
Ta Perl SMS primer lahko uporabite v kateri koli Perl aplikaciji. Za uporabo morate knjižnico Ozeki.Libs.Rest dodati v vaš projekt. Ko je knjižnica dodana, morate v glavni del vaše Perl izvorne kode dodati direktivo using Ozeki.Libs.Rest;. To vam bo omogočilo uporabo razredov, ki jih ponuja knjižnica Ozeki.Libs.Rest. Razred Message lahko uporabite za ustvarjanje SMS-a. Razred MessageApi lahko uporabite za pošiljanje SMS-a proti SMS prehodu. SMS prehod bo vaše sporočilo posredoval mobilnemu omrežju prek brezžične povezave ali interneta.
Prenesite SendSms.pl
Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: SendSms.pl.zip (76,0Kb)
Datoteka SendSms.pl.zip vsebuje knjižnico Ozeki.Libs.Rest, ki vam ponuja vsa orodja, potrebna za pošiljanje in prejemanje SMS sporočil. V zip datoteki boste našli tudi datoteko SendSms.pl, ki vsebuje primer kode, ki vam pokaže, kako poslati SMS. Ta primer kode je naveden spodaj.
Za uporabo knjižnice Ozeki::Libs::Rest morate namestiti nekaj modulov:
Ubuntu
$ sudo apt-get install libdatetime-perl $ cpan $ install JSON $ install UUID::Generator::PurePerl $ install UUID::Object
V tem videu vam pokažemo, kako namestiti odvisnosti Perl-a na Linux OS. Video se bo začel z odpiranjem terminala in končal z nameščenimi odvisnostmi. Video je dolg le 1:10, vendar podrobno razlaga postopek. Če si ogledate celoten video, ne boste imeli težav s ponovitvijo korakov.
Windows
cpanm DateTime cpanm UUID::Generator::PurePerl cpanm UUID::Object cpanm JSON
V tem videu vam pokažemo, kako namestiti odvisnosti Perl-a na Windows OS. Video se bo začel z odpiranjem ukazne vrstice in končal z nameščenimi odvisnostmi. Video je dolg le 46 sekund, vendar podrobno razlaga postopek. Postopek je enostaven, zato vam bo s pomočjo tega videa uspelo slediti korakom.
Kako poslati SMS iz Perl-a (Preprosta navodila)
Za pošiljanje SMS-ov iz Perl-a:
- Namestite uporabnika HTTP API-ja
- Omogočite beleženje komunikacijskih dogodkov na zavihku Napredno
- Prenesite in razširite datoteko SendSms.pl.zip
- Odprite datoteko sendsms.pl v katerem koli urejevalniku besedila
- Zaženite aplikacijo Ozeki SMS Gateway
- Zaženite Perl kodo SendSms.pl v ukazni vrstici
- Preverite dnevnike, da vidite, ali je bil SMS poslan
Namestite Ozeki SMS Gateway in ustvarite uporabnika HTTP API
Za pošiljanje SMS-ov iz Perl-a morate najprej namestiti Ozeki SMS Gateway. SMS gateway lahko namestite na isti računalnik, kjer razvijate svojo Perl kodo v Windows Notepad ali Visual Studio Code. Po namestitvi je naslednji korak povezovanje Ozeki SMS Gateway-ja z mobilnim omrežjem. Lahko pošljete testno SMS sporočilo iz Ozeki GUI-ja, da preverite, ali deluje vaša povezava z mobilnim omrežjem. Zadnji korak pri pripravi okolja je ustvarjanje uporabniškega računa HTTP SMS API. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da bo primer deloval brez sprememb.
Ko je okolje pripravljeno, lahko zaženete svojo Perl kodo.
URL HTTP API-ja za pošiljanje SMS-ov iz Perl-a
Za pošiljanje SMS-ov iz Perl-a mora vaš Perl poslati HTTP zahtevo k SMS gateway-ju. API URL je prikazan spodaj. Upoštevajte, da je treba IP naslov (127.0.0.1) zamenjati z IP naslovom vašega SMS gateway-ja. Če je Ozeki SMS Gateway nameščen na istem računalniku, kjer teče Perl SMS aplikacija, je to lahko 127.0.0.1. Če je nameščen na drugem računalniku, mora biti to IP naslov tega računalnika.
http://127.0.0.1:9509/api?action=rest
HTTP avtentikacija za pošiljanje SMS-ov iz Perl-a
Za avtentikacijo Perl SMS odjemalca morate uporabniško ime in geslo poslati na strežnik v obliki base64 kodiranega niza v HTTP zahtevi. Uporabljen format je: base64(username+":"+password). V Perl-u lahko za to kodiranje uporabite naslednjo kodo:
my ($self, $Username, $Password) = @_; my $Username_Password = "${Username}:${Password}"; my $Username_Password_encoded = encode_base64($Username_Password); return "Basic ${Username_Password_encoded}";
Na primer, če kodirate uporabniško ime 'http_user' in geslo 'qwe123', boste dobili naslednji base64 kodiran niz: aHR0cF91c2VyOnF3ZTEyMw==. Za pošiljanje
Glava HTTP zahteve za pošiljanje SMS-ov iz Perl-a
Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevo. Upoštevajte, da vključujemo tip vsebine in avtorizacijsko glavo.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP zahteva za pošiljanje SMS-ov iz Perl-a
Za oddajo SMS-a bo vaša Perl aplikacija poslala HTTP zahtevo, podobno spodnji. Upoštevajte, da ta zahteva vsebuje del z glavo HTTP in del s telesom HTTP. Telo HTTP je niz podatkov, kodiran v JSON. Vsebuje številko prejemnika in besedilo sporočila.
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 odziv, ki ga prejme Perl SMS primer
Ko SMS gateway prejme to zahtevo, bo ustvaril HTTP odziv. HTTP odziv bo vseboval statusno kodo, ki označuje, ali je bila zahteva za oddajo SMS-a uspešna ali ne. Prav tako bo vrnil strukturo, kodirano v JSON, ki vam bo zagotovila koristne podrobnosti o oddaji sporočila.
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" } ] } }
Povežite svojo SMS prehod z mobilnim omrežjem in ustvarite račun HTTP API uporabnika
Predvidevamo, da ste že namestili Ozeki SMS Gateway in da ste ga povezali z mobilnim omrežjem. Da boste lahko pošiljali SMS na mobilni telefon iz Perl-a, morate nastaviti račun HTTP API uporabnika v Ozeki SMS Gateway. V tem videu vam bomo razložili postopek ustvarjanja novega računa HTTP API uporabnika. Video se bo začel z odpiranjem aplikacije Ozeki SMS gateway in vas popelje do ustvarjenega računa HTTP API uporabnika. Med postopkom se boste naučili, kako konfigurirati novega uporabnika in kako vklopiti možnost beleženja. Video je dolg le 30 sekund in zelo podrobno razlaga postopek. Ne boste imeli težav z razumevanjem korakov.
Kako poslati SMS iz Perl-a z uporabo Perl sms api (Video vadnica)
Ta video vam pokaže, kako prenesti datoteko SendSms.pl.zip s te strani in kako odpreti datoteko SendSms.pl v Notepad-u. Če gledate video, boste opazili, da so vsebine datoteke SendSms.pl zip postavljene na namizje Windows. Videli boste tudi, da datoteko SendSms.pl odpiramo z Windows Notepad.
Na sliki 1 lahko vidite izvorno kodo primera projekta. Če ste seznanjeni z programskim jezikom Perl, lahko kodo spremenite po svojih željah. Ta koda bo poslala SMS na telefonsko številko, shranjeno v spremenljivki toAddress, z besedilom, shranjenim v spremenljivki Text.
Po oddaji SMS-a je dobro preveriti vaš SMS prehod, da vidite, kaj je prejel. Dnevnik lahko preverite tako, da odprete podrobnosti HTTP uporabnika iz konzole za upravljanje Ozeki SMS Gateway. Naslednji video vam pokaže, kaj morate iskati.
Kako preveriti, ali je SMS poslan v mobilno omrežje
Zadnji korak pri preverjanju postopka je pogled v dnevnik povezave z mobilnim omrežjem. Morda boste morali vklopiti beleženje v konfiguraciji povezave, preden pošljete sporočilo, da boste videli dnevnik. Če je beleženje omogočeno, boste videli telefonsko številko in besedilo sporočila, ki ste ga poslali.
Kako izgleda prejemanje SMS-a na Android telefonu (Video vadnica)
V tem videu boste videli, kako izgleda prejemanje SMS sporočila na Android napravi. Začelo se bo z običajno Android domačo stranjo. Videli boste pojavno obvestilo in nato odprto aplikacijo Sporočila z vidnim SMS-om. Video je dolg le 18 sekund, vendar prikazuje celoten postopek.
Zaključek
Ta vodič je bil namenjen prikazu, kako poslati SMS v Perl-u s pomočjo Ozeki SMS Gateway. Če ste vse prebrali skrbno, pošiljanje sporočil vašim strankam v Perl-u z Ozeki SMS Gateway ne bi smelo povzročati nobenih težav. Poudariti je treba, da Ozeki SMS Gateway omogoča beleženje SMS sporočil v bazo podatkov in ponuja različne možnosti poročanja, ki zagotavljajo več informacij o SMS povezavi.
Nadaljujte z branjem na Ozeki-jevem učnem mestu, kjer lahko najdete več informacij o tematikah, kot sta načrtovanje SMS-ov v Perl-u.
Edino, kar morate storiti zdaj, je prenesti Ozeki SMS Gateway in začeti delati!
More information