Cum să primești SMS din Perl

Cea mai simplă metodă de a primi mesaje SMS din Perl este utilizarea API-ului HTTP/Rest SMS încorporat 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.

cum să primești sms din perl
Figura 1 - Cum să primești SMS din Perl

Cod Perl pentru a primi SMS de la mobil

Exemplul de cod Perl pentru SMS de mai jos demonstrează cum poți primi SMS folosind API-ul http rest sms al Ozeki SMS Gateway cu ajutorul bibliotecii Perl Ozeki.Libs.Rest. Această bibliotecă este oferită gratuit și poți să o folosești și să o modifici în oricare dintre proiectele tale.

ReceiveSms.pl
use Ozeki::Libs::Rest::Configuration;
use Ozeki::Libs::Rest::MessageApi;

my $configuration = new Ozeki::Libs::Rest::Configuration();
$configuration->{ Username } = "http_user";
$configuration->{ Password } = "qwe123";
$configuration->{ ApiUrl } = "http://127.0.0.1:9509/api";

my $api = new Ozeki::Libs::Rest::MessageApi($configuration);

my $result = $api->DownloadIncoming();

print($result->stringify, "\n");

foreach my $message (@{ $result->{ messages } }) {
    print($message->stringify, "\n");
}

Cum să folosești exemplul Perl pentru SMS:

Acest exemplu Perl pentru SMS poate fi folosit în orice aplicație Perl. Pentru a-l folosi, 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 primi mesajele SMS către gateway-ul SMS. Gateway-ul SMS va transmite mesajul tău către rețeaua mobilă fie printr-o conexiune fără fir, fie prin Internet.

Descarcă ReceiveSms.pl

Codul sursă explicat în acest articol poate fi descărcat, folosit și modificat gratuit.
Descarcă: ReceiveSms.pl.zip (76.0Kb)

Ce conține fișierul ReceiveSms.pl.zip?

Fișierul ReceiveSms.pl.zip conține biblioteca Ozeki.Libs.Rest, care îți oferă toate instrumentele necesare pentru a trimite și primi mesaje SMS. Vei găsi de asemenea fișierul ReceiveSms.pl în arhivă, care conține codul exemplu pentru a-ți arăta cum să primești un SMS. Acest cod exemplu este listat mai jos.

Figura 2 - Ce conține ReceiveSms.pl.zip

Cum să primești SMS în Perl (Ghid simplu)

Pentru a primi SMS în Perl:

  1. Descarcă fișierul ReceiveSms.pl.zip
  2. Extrage fișierul .zip din folderul Descărcări
  3. Deschide fișierul ReceiveSms.pl într-un editor de text
  4. Pornește Ozeki SMS Gateway
  5. Apasă pe HTTP user în fila Users and applications
  6. Rulează ReceiveSms.pl pentru a primi SMS folosind linia de comandă
  7. Verifică Inbox-ul în Ozeki SMS Gateway
Instalează Ozeki SMS Gateway și creează un utilizator HTTP API

Pentru a putea trimite și primi SMS din Perl, mai întâi trebuie să instalezi Ozeki SMS Gateway. Gateway-ul SMS poate fi instalat pe același calculator pe care îți dezvolți codul Perl în Visual Studio. După instalare, următorul pas este să conectezi Ozeki SMS Gateway la rețeaua mobilă. Poți trimite un SMS test din interfața Ozeki pentru a verifica dacă conexiunea ta la rețeaua mobilă funcționează. Ultimul pas pentru a-ți pregăti mediul este să creezi un utilizator HTTP sms api. Creează 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, poți rula codul tău Perl.

URL API HTTP pentru a primi SMS din Perl

Pentru a trimite SMS din Perl, aplicația ta Perl va trebui să efectueze o cerere HTTP către gateway-ul SMS. URL-ul API este afișat mai jos. Reține că adresa IP (127.0.0.1) ar trebui să fie înlocuită cu adresa IP a gateway-ului tău SMS. Dacă Ozeki SMS Gateway este instalat pe același calculator pe care rulează aplicația Perl pentru SMS, aceasta poate fi 127.0.0.1. Dacă este instalat pe un alt calculator, ar trebui să fie adresa IP a acelui calculator.

http://127.0.0.1:9509/api?action=rest
Autentificare HTTP pentru a primi SMS din Perl

Pentru a autentifica clientul Perl pentru SMS, trebuie să trimiți numele de utilizator și parola într-un șir codat base64 către server într-o cerere HTTP. Formatul folosit este: base64(nume_utilizator+":"+parolă). În Perl poți folosi următorul cod pentru a face această codare:

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ă codezi numele de utilizator 'http_user' și parola 'qwe123', vei obține următorul șir codat base64: aHR0cF91c2VyOnF3ZTEyMw==. Pentru a trimite

Cerere HTTP pentru primire SMS cu Perl

Pentru a primi SMS, aplicația ta 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.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Connection: TE, close
Content-Type: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 192.168.0.14:9509
Te: deflate,gzip;q=0.3
User-Agent: libwww-perl/6.43
	

Antet cerere HTTP pentru primire SMS din C#

Pentru a trimite mesajele SMS, trebuie să includeți următoarele linii ca anteturi î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==
	

Răspuns HTTP primit de exemplul Perl pentru 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ă trimiterea 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: Fri, 02 Jul 2021 16:00:35 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "",
	"data": {
	  "folder": "inbox",
	  "limit": "1000",
	  "data": [
	    {
	      "message_id": "a860555d-db45-11eb-82d5-c00c4d4e2ea7",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36201111111",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-07-02 14:56:18",
	      "valid_until": "2021-07-09 14:56:18",
	      "time_to_send": "2021-07-02 14:56:18",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "a8607b04-db45-11eb-818e-c00c4d4e2ea7",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36202222222",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-07-02 14:56:18",
	      "valid_until": "2021-07-09 14:56:18",
	      "time_to_send": "2021-07-02 14:56:18",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "a8609539-db45-11eb-80db-c00c4d4e2ea7",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36203333333",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-07-02 14:56:18",
	      "valid_until": "2021-07-09 14:56:18",
	      "time_to_send": "2021-07-02 14:56:18",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}

Cum să primești SMS cu Perl folosind API-ul Perl pentru SMS (Tutorial video)

Aceste videoclipuri vă vor arăta cum să instalați modulul Ozeki::Libs::Rest și cum să folosiți programul exemplu ReceiveSms.pl. Videoclipul vă va arăta cum puteți descărca directorul proiectului ReceiveSMS.pl, cum să configurați un sistem pe care îl puteți începe să îl utilizați. Videoclipul durează doar 1:30, dar cuprinde toți pașii pe care trebuie să îi urmați. Tutorialul este clar și ușor de urmat, astfel încât nu veți avea probleme în a reproduce procesul.

Video 1 - Cum să descarci și să configurezi soluția exemplu (Tutorial video)

Exemplu Perl pentru SMS: ReceiveSms.pl

În Figura 3, puteți vedea codul sursă al ReceiveSMS.pl. Acest cod va descărca toate mesajele primite de pe un server și le va afișa pe ecran. Trebuie să furnizați datele de autentificare ale serverului în variabilele 'Username' și 'Password'. Dacă sunteți familiarizat cu limbajul de programare Perl, nu ezitați să modificați codul astfel încât să se potrivească perfect nevoilor dumneavoastră.

Figura 3 - ReceiveSms.pl

Cum să primești SMS cu codul Perl (Tutorial video)

În acest videoclip, veți vedea codul în acțiune. Vă vom prezenta cum să rulați codul și să verificați rezultatele acestuia. Vom începe cu un terminal deschis și codul deschis și vă vom conduce până la citirea mesajelor primite. Videoclipul durează doar 1 minut și este ușor de urmat. Nu veți avea probleme în a urma pașii.

Video 2 - Cum să primești SMS cu codul Perl de mai sus (Tutorial video)

În concluzie

Acest articol a explicat cum să primești mesaje SMS din Perl folosind API-ul SMS REST HTTP integrat în Ozeki SMS Gateway. Dacă ai urmat cu atenție tutorialul, acum poți crea un utilizator HTTP în Ozeki SMS Gateway și poți folosi repository-ul furnizat pentru a primi mesaje SMS cu API-ul SMS Perl. Această bibliotecă este oferită gratuit și o poți folosi și modifica în oricare dintre proiectele tale.

Cu cât ai mai multe cunoștințe, cu atât poți fi mai eficient, așa că continuă să citești. Consultă articolul Cum să descarci cea mai recentă bibliotecă Perl SMS de pe Github și învață cum să folosești API-ul SMS Perl într-un mod mai extins.

Descarcă acum Ozeki SMS Gateway și începe lucrul!

More information