Kako prejemati SMS iz Perla

Najenostavnejši način za prejemanje SMS sporočil iz Perla 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 do SMS prehoda. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS prehod bo poslal to SMS prejemniku in vrnil HTTP 200 OK odgovor na vašo zahtevo.

kako prejemati sms iz perla
Slika 1 - Kako prejemati SMS iz Perla

Perl koda za prejemanje SMS-ov iz mobilnega telefona

Spodnji Perl SMS primer kode prikazuje, kako lahko prejemate SMS z uporabo http rest sms api 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.

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");
}

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. Po dodajanju knjižnice morate v glavo 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-ja. Razred MessageApi lahko uporabite za prejemanje SMS sporočil do SMS prehoda. SMS prehod bo vaše sporočilo poslal v mobilno omrežje prek brezžične povezave ali prek interneta.

Prenesite ReceiveSms.pl

Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: ReceiveSms.pl.zip (76.0Kb)

Kaj je v datoteki ReceiveSms.pl.zip?

Datoteka ReceiveSms.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 ReceiveSms.pl, ki vsebuje primer kode, ki vam pokaže kako prejeti SMS. Ta primer kode je naveden spodaj.

Slika 2 - Kaj je v ReceiveSms.pl.zip

Kako prejemati SMS v Perlu (Preprosta navodila)

Za prejemanje SMS-ov v Perlu:

  1. Prenesite datoteko ReceiveSms.pl.zip
  2. Razširite .zip datoteko iz Prenosi
  3. Odprite datoteko ReceiveSms.pl v urejevalniku besedila
  4. Zaženite Ozeki SMS Gateway
  5. Kliknite na HTTP uporabnika v zavihku Uporabniki in aplikacije
  6. Zaženite ReceiveSms.pl za prejemanje SMS z ukazno vrstico
  7. Preverite mapo Prejeto v Ozeki SMS Gateway
Namestite Ozeki SMS Gateway in ustvarite HTTP API uporabnika

Da lahko pošiljate in prejemate SMS iz Perla, morate najprej namestiti Ozeki SMS Gateway. SMS prehod lahko namestite na isti računalnik, kjer razvijate svojo Perl kodo v Visual studiu. Po namestitvi je naslednji korak povezovanje Ozeki SMS Gateway z mobilnim omrežjem. Lahko pošljete testni SMS iz Ozeki GUI, da preverite, ali vaša mobilna omrežna povezava deluje. Zadnji korak pri pripravi vašega okolja je ustvarjanje HTTP SMS API uporabniškega računa. 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.

HTTP API url za prejemanje SMS iz Perla

Za pošiljanje SMS iz Perla bo vaš Perl moral izdati HTTP zahtevo do SMS prehoda. API url je prikazan spodaj. Upoštevajte, da je treba IP naslov (127.0.0.1) zamenjati z IP naslovom vašega SMS prehoda. Č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 prejemanje SMS iz Perla

Za avtentikacijo Perl SMS odjemalca morate uporabniško ime in geslo poslati v base64 kodiranem nizu na strežnik v HTTP zahtevi. Uporabljen format je: base64(uporabniško_ime+":"+geslo). V Perlu 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

HTTP zahteva za prejemanje SMS s Perl

Za prejemanje SMS bo vaša Perl aplikacija poslala HTTP zahtevo, podobno spodnji. Upoštevajte, da ta zahteva vsebuje del HTTP glave in del HTTP telesa. Telo HTTP je niz podatkov, kodiran v JSON. Vsebuje prejemnikovo številko in besedilo sporočila.

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
	
HTTP glava zahteve za prejemanje SMS iz C#

Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevo. Upoštevajte, da vključujemo vrsto vsebine in glavo za avtorizacijo.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP odziv, prejet s Perl primerom SMS

Ko SMS prehod prejme to zahtevo, bo ustvaril HTTP odziv. HTTP odziv bo vseboval statusno kodo, ki označuje, ali je bila zahteva za oddajo SMS 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: 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"
	        }
	      ]
	    }
	  ]
	}
}
Kako prejemati SMS s Perl z uporabo Perl SMS API (Video vadnica)

Ti videoposnetki vam bodo pokazali, kako namestiti modul Ozeki::Libs::Rest in kako uporabiti primer programa ReceiveSms.pl. Video vam bo pokazal, kako lahko prenesete mapo projekta ReceiveSMS.pl, kako nastaviti sistem, ki ga lahko začnete uporabljati. Video je dolg le 1:30, vsebuje pa vse korake, ki jih morate narediti. Vadnica je jasna in enostavna za sledenje, zato ne boste imeli težav pri ponavljanju postopka.

Video 1 - Kako prenesti in nastaviti primer rešitve (Video vadnica)

Perl SMS primer: ReceiveSms.pl

Na sliki 3 lahko vidite izvorno kodo ReceiveSMS.pl. Ta koda bo prenesla vsa dohodna sporočila s strežnika in jih izpisala na zaslon. V spremenljivkah 'Username' in 'Password' morate navesti prijavne podatke strežnika. Če ste seznanjeni z programskim jezikom Perl, lahko kodo spremenite tako, da popolnoma ustreza vašim potrebam.

Slika 3 - ReceiveSms.pl

Kako prejemati SMS s Perl kodo (Video vadnica)

V tem videu boste videli kodo v delovanju. Pokazali vam bomo, kako zagnati kodo in preveriti njene rezultate. Začeli bomo z odprtim terminalom in odprto kodo ter vas popeljali do branja prejetih sporočil. Video je dolg le 1 minuto in je enostaven za sledenje. Ne boste imeli težav pri sledenju korakom.

Video 2 - Kako prejemati SMS s Perl kodo zgoraj (Video vadnica)

Ta članek je razložil, kako prejemati SMS sporočila iz Perl-a z uporabo vgrajenega HTTP REST SMS API-ja Ozeki SMS Gateway. Če ste skrbno sledili vadnici, lahko zdaj ustvarite HTTP uporabnika v Ozeki SMS Gateway in uporabite dano skladišče za prejemanje SMS sporočil s Perl SMS API. Ta knjižnica vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od svojih projektov.

Več znanja kot imate, bolj učinkoviti lahko ste, zato nadaljujte z branjem. Oglejte si članek Kako prenesti najnovejšo Perl SMS knjižnico z Githuba in se naučite, kako širše uporabljati Perl SMS API.

Prenesite Ozeki SMS Gateway zdaj in začnimo z delom!

More information