Cum să trimiți SMS din Perl
Cea mai simplă metodă de a trimite SMS din Perl este utilizarea API-ului HTTP/Rest SMS integrat al Ozeki SMS Gateway. Când folosești acest API, vei trimite mesaje SMS prin efectuarea unei cereri HTTP Post către gateway-ul SMS. Cererea HTTP Post va conține un mesaj formatat în format json. Gateway-ul SMS va trimite acest SMS către telefonul destinatar și va returna un răspuns HTTP 200 OK la cererea ta.
Exemplul de cod Perl pentru SMS de mai jos demonstrează cum poți trimite SMS folosind API-ul http rest sms al Ozeki SMS Gateway cu ajutorul bibliotecii Perl Ozeki.Libs.Rest. Această bibliotecă este oferită gratuit și o poți folosi și modifica în oricare dintre proiectele tale.
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 } = "Hello world!"; my $api = new Ozeki::Libs::Rest::MessageApi($configuration); my $result = $api->Send($msg); print($result->stringify);
Cum să folosești exemplul Perl pentru SMS:
Acest exemplu Perl pentru SMS poate fi folosit în orice aplicație Perl. Pentru a-l utiliza, trebuie să adaugi biblioteca Ozeki.Libs.Rest în proiectul tău. După ce biblioteca este adăugată, trebuie să incluzi directiva using Ozeki.Libs.Rest; în secțiunea de antet a codului sursă Perl. Acest lucru îți va permite să folosești clasele furnizate de biblioteca Ozeki.Libs.Rest. Poți folosi clasa Message pentru a crea SMS-ul. Poți folosi clasa MessageApi pentru a trimite SMS-ul către gateway-ul SMS. Gateway-ul SMS va transmite mesajul tău către rețeaua mobilă fie printr-o conexiune wireless, fie prin Internet.
Descarcă SendSms.pl
Codul sursă explicat în acest articol poate fi descărcat, folosit și modificat gratuit.
Descarcă: SendSms.pl.zip (76.0Kb)
Fișierul SendSms.pl.zip conține biblioteca Ozeki.Libs.Rest, care îți oferă toate instrumentele necesare pentru a trimite și primi mesaje SMS. De asemenea, vei găsi fișierul SendSms.pl în arhivă, care conține codul exemplu pentru a-ți arăta cum să trimiți un SMS. Acest cod exemplu este listat mai jos.
Pentru a folosi biblioteca Ozeki::Libs::Rest, trebuie să instalezi câteva module:
Ubuntu
$ sudo apt-get install libdatetime-perl $ cpan $ install JSON $ install UUID::Generator::PurePerl $ install UUID::Object
În acest videoclip, îți arătăm cum să instalezi dependințele Perl pe sistemul de operare Linux. Videoclipul va începe cu deschiderea unui terminal și se va încheia cu dependințele instalate. Videoclipul durează doar 1:10, dar explică procesul în detaliu. Dacă urmărești întregul videoclip, nu vei avea probleme în a recrea pașii.
Windows
cpanm DateTime cpanm UUID::Generator::PurePerl cpanm UUID::Object cpanm JSON
În acest videoclip, îți arătăm cum să instalezi dependințele Perl pe sistemul de operare Windows. Videoclipul va începe cu deschiderea unui prompt de comandă și se va încheia cu toate dependințele instalate. Videoclipul durează doar 46 de secunde, dar explică procesul în detaliu. Procesul este ușor de realizat, așa că, cu ajutorul acestui videoclip, nu vei avea probleme în a urma pașii.
Cum să trimiți SMS din Perl (Ghid simplu)
Pentru a trimite SMS din Perl:
- Instalează un utilizator HTTP API
- Activează Log communication events în fila Advanced
- Descarcă apoi extrage fișierul SendSms.pl.zip
- Deschide fișierul sendsms.pl în orice editor de text
- Lansează aplicația Ozeki SMS Gateway
- Rulează codul Perl SendSms.pl în promptul de comandă
- Verifică jurnalele pentru a vedea dacă SMS-ul a fost trimis
Instalați Ozeki SMS Gateway și creați un utilizator HTTP API
Pentru a putea trimite SMS din Perl, mai întâi trebuie să instalați Ozeki SMS Gateway. Gateway-ul SMS poate fi instalat pe același computer unde dezvoltați codul Perl în Windows Notepad sau Visual Studio Code. După instalare, următorul pas este să conectați Ozeki SMS Gateway la rețeaua mobilă. Puteți creați un utilizator HTTP SMS API. Creați un utilizator cu numele de utilizator "http_user" și parola "qwe123" pentru ca exemplul să funcționeze fără modificări.
După ce mediul este configurat, puteți rula codul Perl.
URL-ul API HTTP pentru a trimite SMS din Perl
Pentru a trimite SMS din Perl, aplicația Perl va trebui să facă o cerere HTTP către gateway-ul SMS. URL-ul API este afișat mai jos. Rețineți că adresa IP (127.0.0.1) ar trebui să fie înlocuită cu adresa IP a gateway-ului dvs. SMS. Dacă Ozeki SMS Gateway este instalat pe același computer unde rulează aplicația Perl SMS, aceasta poate fi 127.0.0.1. Dacă este instalat pe un computer diferit, ar trebui să fie adresa IP a acelui computer.
http://127.0.0.1:9509/api?action=rest
Autentificarea HTTP pentru a trimite SMS din Perl
Pentru a autentifica clientul Perl SMS, trebuie să trimiteți numele de utilizator și parola într-un șir codificat base64 către server într-o cerere HTTP. Formatul utilizat este: base64(nume_utilizator+":"+parolă). În Perl puteți utiliza următorul cod pentru a face această codificare:
my ($self, $Username, $Password) = @_; my $Username_Password = "${Username}:${Password}"; my $Username_Password_encoded = encode_base64($Username_Password); return "Basic ${Username_Password_encoded}";
De exemplu, dacă codificați numele de utilizator 'http_user' și parola 'qwe123', veți obține următorul șir codificat base64: aHR0cF91c2VyOnF3ZTEyMw==. Pentru a trimite
Antetul cererii HTTP pentru a trimite SMS din Perl
Pentru a trimite mesajele SMS, trebuie să includeți următoarele linii ca antete în cererea HTTP. Rețineți că includem un tip de conținut și un antet de autorizare.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cererea HTTP pentru a trimite SMS din Perl
Pentru a trimite SMS, aplicația Perl va trimite o cerere HTTP similară cu cea de mai jos. Rețineți că această cerere conține o parte de antet HTTP și o parte de corp HTTP. Corpul HTTP este un șir de date codificat JSON. Acesta conține numărul destinatarului și textul mesajului.
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": [] } ] }
Răspunsul HTTP primit de exemplul Perl SMS
Odată ce gateway-ul SMS primește această cerere, va genera un răspuns HTTP. Răspunsul HTTP va conține un cod de stare, pentru a indica dacă cererea de trimitere SMS a fost reușită sau nu. De asemenea, va returna o structură codificată JSON pentru a vă oferi detalii utile despre trimiterea mesajului.
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" } ] } }
Conectați-vă gateway-ul SMS la rețeaua mobilă și creați un cont de utilizator HTTP API
Presupunem că ați instalat deja Ozeki SMS Gateway și l-ați conectat la rețeaua mobilă. Pentru a putea trimite SMS către un telefon mobil din Perl, trebuie să configurați un cont de utilizator HTTP API în Ozeki SMS Gateway. În acest videoclip, vă vom explica procesul de creare a unui nou cont de utilizator HTTP API. Videoclipul va începe cu deschiderea aplicației Ozeki SMS Gateway și vă va ghida până la crearea contului de utilizator HTTP API. În acest proces, veți învăța cum să configurați un nou utilizator și cum să activați opțiunea de înregistrare a jurnalelor. Videoclipul durează doar 30 de secunde și explică procesul într-un mod foarte detaliat. Nu veți avea probleme în a înțelege pașii.
Cum să trimiteți SMS din Perl folosind API-ul SMS Perl (Tutorial video)
Acest videoclip vă arată cum să descărcați fișierul SendSms.pl.zip de pe această pagină și cum să deschideți fișierul SendSms.pl în Notepad. Dacă urmăriți videoclipul, veți observa că conținutul arhivei SendSms.pl este plasat pe desktop-ul Windows. De asemenea, veți vedea că deschidem fișierul SendSms.pl cu Notepad din Windows.
În Figura 1, puteți vedea codul sursă al proiectului exemplu. Dacă sunteți familiarizat cu limbajul de programare Perl, nu ezitați să modificați codul după preferințele dvs. Acest cod va trimite un SMS către numărul de telefon stocat în variabila toAddress, cu textul stocat în variabila Text.
După ce SMS-ul a fost trimis, este o idee bună să verificați gateway-ul dvs. SMS, pentru a vedea ce a primit. Puteți verifica jurnalul deschizând detaliile utilizatorului HTTP din consola de management Ozeki SMS Gateway. Următorul videoclip vă arată ce să căutați.
Cum să verificați dacă SMS-ul a fost trimis către rețeaua mobilă
Pasul final în verificarea procedurii este să aruncați o privire asupra jurnalelor conexiunii la rețeaua mobilă. Este posibil să fie nevoie să activați înregistrarea jurnalelor în configurația conexiunii înainte de a trimite mesajul pentru a vedea jurnalele. Dacă înregistrarea jurnalelor este activată, veți vedea numărul de telefon și textul mesajului pe care l-ați trimis.
Cum arată primirea unui SMS pe un telefon Android (Tutorial video)
În acest videoclip, veți vedea cum arată primirea unui mesaj SMS pe un dispozitiv Android. Videoclipul va începe cu o pagină principală obișnuită Android. Veți vedea notificarea apărând și apoi aplicația Mesaje deschisă cu SMS-ul vizibil în ea. Videoclipul durează doar 18 secunde, dar prezintă întregul proces.
Concluzie
Acest ghid a fost menit să arate cum să trimiteți SMS în Perl cu ajutorul Ozeki SMS Gateway. Dacă totul a fost citit cu atenție, mesageria cu clienții dvs. în Perl cu Ozeki SMS Gateway nu ar trebui să creeze nicio problemă. Trebuie subliniat că Ozeki SMS Gateway vă permite să înregistrați mesajele SMS într-o bază de date și oferă diverse capabilități de raportare pentru a furniza mai multe informații despre conexiunea SMS.
Continuați să citiți pe pagina de tutoriale Ozeki, unde puteți găsi mai multe informații despre subiecte precum programarea SMS în Perl.
Singurul lucru care rămâne de făcut acum este să descărcați Ozeki SMS Gateway și să începeți să lucrați!
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