Cum să trimiți mai multe SMS-uri din Perl
Cea mai simplă metodă de a trimite mai multe SMS-uri din Perl este utilizarea API-ului HTTP/Rest SMS încorporat al Ozeki SMS Gateway. Când utilizați acest API, veți 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 dumneavoastră.
Exemplul de cod Perl pentru SMS de mai jos demonstrează cum puteți trimite SMS folosind API-ul HTTP Rest SMS al Ozeki SMS Gateway cu ajutorul bibliotecii Perl Ozeki.Libs.Rest. Această bibliotecă vă este oferită gratuit și o puteți utiliza și modifica în oricare dintre proiectele dumneavoastră.
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);
Cum să utilizați exemplul Perl pentru SMS:
Acest exemplu Perl pentru SMS poate fi utilizat în orice aplicație Perl. Pentru a-l folosi, trebuie să adăugați biblioteca Ozeki.Libs.Rest în proiectul dumneavoastră. După ce biblioteca a fost adăugată, trebuie să includeți directiva using Ozeki.Libs.Rest; în secțiunea de antet a codului sursă Perl. Acest lucru vă va permite să utilizați clasele furnizate de biblioteca Ozeki.Libs.Rest. Puteți utiliza clasa Message pentru a crea SMS-ul. Puteți utiliza clasa MessageApi pentru a trimite mesajele SMS către gateway-ul SMS. Gateway-ul SMS va transmite mesajul dumneavoastră către rețeaua mobilă fie printr-o conexiune wireless, fie prin Internet.
Descarcă SendMultipleSms.pl
Codul sursă explicat în acest articol poate fi descărcat, utilizat și modificat gratuit.
Descarcă: SendMultipleSms.pl.zip (76.1Kb)
Fișierul SendMultipleSms.pl conține biblioteca Ozeki.Libs.Rest, care vă oferă toate instrumentele necesare pentru a trimite și primi mesaje SMS. De asemenea, veți găsi fișierul SendMultipleSms în arhiva zip, care conține codul exemplu pentru a vă arăta cum să trimiteți un SMS. Acest cod exemplu este listat mai jos.
Pentru a trimite mai multe SMS-uri din Perl:
- Instalați Strawberry Perl
- Descărcați fișierul SendMultipleSms.pl.zip
- Extrageți fișierul .zip din folderul Downloads
- Deschideți fișierul SendSms.pl în Notepad sau Visual Studio Code
- Porniți Ozeki SMS Gateway
- Creați un utilizator HTTP API în Ozeki
- Rulați codul Perl SendMultipleSms.pl în linia de comandă
- Verificați căsuța Sent în Ozeki SMS Gateway
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 pe care dezvoltați codul Perl în Visual Studio. După instalare, următorul pas este să conectați Ozeki SMS Gateway la rețeaua mobilă. Puteți trimite un SMS de test din interfața grafică Ozeki pentru a verifica dacă conexiunea la rețeaua mobilă funcționează. Ultimul pas pentru a vă pregăti mediul este să creați un utilizator HTTP SMS API. Creați un utilizator cu numele de utilizator "http_user" și parola "qwe123" pentru a face exemplul să funcționeze fără modificări.
După ce mediul este configurat, puteți rula codul Perl.
URL API HTTP pentru a trimite SMS din PerlPentru a trimite SMS din Perl, aplicația Perl va trebui să efectueze 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 SMS. Dacă Ozeki SMS Gateway este instalat pe același computer pe care rulează aplicația Perl pentru 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
Pentru a autentifica clientul Perl pentru 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 antet î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==
Pentru a trimite SMS-ul, aplicația dvs. 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 în JSON. Acesta conține numărul destinatarului și textul mesajului.
Odată ce gateway-ul SMS primește această cerere, acesta va genera un răspuns HTTP. Răspunsul HTTP va conține un cod de stare, pentru a indica dacă cererea de trimitere a SMS-ului a fost reușită sau nu. De asemenea, va returna o structură codificată în 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: 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" } ] }
În acest videoclip, veți vedea procesul de descărcare și configurare a proiectului SendMultipleSMS.pl. Acesta va începe cu descărcarea proiectului și se va încheia cu configurarea finalizată. Veți învăța toți pașii necesari pentru a avea o soluție funcțională. Videoclipul durează 1:44, dar prezintă toți pașii într-un mod foarte detaliat. După vizionare, puteți descărca și configura soluția pe cont propriu.
Codul exemplu
În Figura 3, puteți vedea codul exemplu. Acest cod exemplu va trimite mai multe mesaje SMS către mai mulți destinatari. Dacă sunteți familiarizat cu limbajul de programare Perl, nu ezitați să modificați codul după preferințele dvs. Acesta va trimite SMS către toate numerele de telefon stocate în variabila 'ToAddress', cu textul stocat în variabilele Text.
În acest videoclip, veți vedea proiectul exemplu în acțiune. Vă vom arăta ce trebuie să faceți pentru ca proiectul să trimită mai multe mesaje SMS cu o singură rulare. Videoclipul durează doar 1:12 și conține toate informațiile necesare pentru a lansa programul. Acesta va începe cu proiectul deschis și se va încheia cu toate mesajele trimise.
Rezumat
Ghidul de mai sus a explicat pașii pentru trimiterea multiplă de SMS în Perl cu Ozeki SMS Gateway. Dacă ați urmat cu atenție fiecare pas, ar trebui să puteți contacta mai mulți clienți cu un singur cod Perl și Ozeki SMS Gateway. Cu această soluție, un număr mare de clienți pot primi SMS-urile lor în același timp. Este important de menționat că Ozeki SMS Gateway oferă performanțe ridicate, putând trimite până la 1000 de SMS pe secundă.
Asigurați-vă că nu vă opriți aici, vizitați pagina de tutoriale Ozeki unde puteți găsi mai multe informații despre subiecte similare, cum ar fi programarea SMS-urilor în Perl.
Singurul lucru rămas de făcut este să descărcați Ozeki SMS Gateway și să începeți lucrul!
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