Hogyan lehet SMS-t fogadni Perl nyelven

A legegyszerűbb módja az SMS-ek fogadásának Perl nyelven az Ozeki SMS Gateway beépített HTTP/REST SMS API-jának használata. Ezt az API-t használva HTTP POST kérést küldhetsz az SMS gateway-nek. A HTTP POST kérés egy JSON formátumú üzenetet tartalmaz. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonszámára, és egy HTTP 200 OK választ küld vissza a kérésedre.

hogyan lehet sms-t fogadni perl nyelven
1. ábra - Hogyan lehet SMS-t fogadni Perl nyelven

Perl kód SMS fogadására mobiltelefonról

Az alábbi Perl SMS kód minta bemutatja, hogyan fogadhatsz SMS-t az Ozeki SMS Gateway HTTP REST SMS API-jával, a Perl Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen használható, és bármilyen projektben módosíthatod.

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

A Perl SMS példa használata:

Ez a Perl SMS példa bármilyen Perl alkalmazásban használható. A használathoz hozzá kell adnod az Ozeki.Libs.Rest könyvtárat a projektedhez. A könyvtár hozzáadása után a using Ozeki.Libs.Rest; direktívát kell elhelyezned a Perl forráskódod fejléc részébe. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. A Message osztály segítségével létrehozhatod az SMS-t. A MessageApi osztály segítségével fogadhatod az SMS üzeneteket az SMS gateway-től. Az SMS gateway továbbítja az üzenetedet a mobilhálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.

ReceiveSms.pl letöltése

A cikkben ismertetett forráskód ingyenesen letölthető, használható és módosítható.
Letöltés: ReceiveSms.pl.zip (76.0Kb)

Mi található a ReceiveSms.pl.zip fájlban?

A ReceiveSms.pl.zip fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A zip fájlban megtalálod a ReceiveSms.pl fájlt is, amely tartalmazza a példakódot, amely bemutatja, hogyan fogadj SMS-t. Ez a példakód az alábbiakban látható.

2. ábra - Mi található a ReceiveSms.pl.zip fájlban

Hogyan fogadj SMS-t Perl nyelven (Egyszerű útmutató)

Az SMS fogadásához Perl nyelven:

  1. Töltsd le a ReceiveSms.pl.zip fájlt
  2. Csomagold ki a .zip fájlt a Letöltések mappából
  3. Nyisd meg a ReceiveSms.pl fájlt egy szövegszerkesztőben
  4. Indítsd el az Ozeki SMS Gateway-t
  5. Kattints a HTTP felhasználóra a Felhasználók és alkalmazások lapon
  6. Futtasd a ReceiveSms.pl-t az SMS fogadásához a parancssorból
  7. Ellenőrizd a Beérkezett üzeneteket az Ozeki SMS Gateway-ben

Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása

Ahhoz, hogy SMS-t tudj küldeni és fogadni Perl nyelven, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Perl kódodat fejleszted Visual Studio-ban. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobilhálózathoz. létrehozol egy HTTP SMS API felhasználói fiókot. Hozz létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.

Miután a környezet be van állítva, futtathatod a Perl kódodat.

HTTP API URL az SMS fogadásához Perl nyelven

Az SMS küldéséhez Perl nyelven a Perl alkalmazásodnak HTTP kérést kell küldenie az SMS gateway-nek. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét írd. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a Perl SMS alkalmazás fut, ez maradhat 127.0.0.1. Ha másik számítógépre van telepítve, annak IP címét kell megadnod.

http://127.0.0.1:9509/api?action=rest

HTTP hitelesítés az SMS fogadásához Perl nyelven

A Perl SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolású karakterláncként kell elküldened a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). Perl nyelven a következő kódot használhatod a kódoláshoz:

my ($self, $Username, $Password) = @_;
my $Username_Password = "${Username}:${Password}";
my $Username_Password_encoded = encode_base64($Username_Password);
return "Basic ${Username_Password_encoded}";
	

Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolású karakterláncot kapod: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP kérés SMS fogadásához Perl nyelven

Az SMS fogadásához a Perl alkalmazásod egy olyan HTTP kérést küld, mint az alábbi. Figyelj rá, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolású adatsor. Tartalmazza a címzett számát és az üzenet szövegét.

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 kérés fejléc SMS fogadásához C#-ból

Az SMS üzenetek küldéséhez a következő sorokat kell fejlécben tartalmaznia az HTTP kérésnek. Figyelj rá, hogy tartalmazunk egy tartalomtípust és egy Authorization fejlécet.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP válasz, amelyet a Perl SMS példa kap

Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy állapotkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Egy JSON kódolású struktúrát is visszaad, amely hasznos részleteket nyújt az üzenet beküldéséről.

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"
	        }
	      ]
	    }
	  ]
	}
}

Hogyan fogadj SMS-t Perl nyelven a Perl SMS API-val (Videó útmutató)

Ezek a videók bemutatják, hogyan telepítheted az Ozeki::Libs::Rest modult, és hogyan használhatod a ReceiveSms.pl példaprogramot. A videó bemutatja, hogyan töltheted le a ReceiveSMS.pl projekt mappát, és hogyan állíthatsz be egy rendszert, amelyet azonnal használhatsz. A videó mindössze 1 perc 30 másodperc hosszú, de tartalmazza az összes szükséges lépést. Az útmutató világos és könnyen követhető, így nem lesz gondod a folyamat másolásával.

1. videó - Hogyan töltsd le és állítsd be a példa megoldást (Videó útmutató)

Perl SMS példa: ReceiveSms.pl

A 3. ábrán láthatod a ReceiveSMS.pl forráskódját. Ez a kód letölti az összes bejövő üzenetet egy szerverről, és kiírja őket a képernyőre. Meg kell adnod a szerver bejelentkezési adatait a 'Username' és a 'Password' változóban. Ha ismered a Perl programozási nyelvet, nyugodtan módosíthatod a kódot, hogy pontosan megfeleljen az igényeidnek.

3. ábra - ReceiveSms.pl

Hogyan fogadj SMS-t a Perl kóddal (Videó útmutató)

Ebben a videóban látod a kód működését. Bemutatjuk, hogyan futtathatod a kódot, és hogyan ellenőrizheted az eredményeit. A videó egy megnyitott terminállal és a megnyitott kóddal kezdődik, majd elvezet az üzenetek fogadásához. A videó mindössze 1 perc hosszú, és könnyen követhető. Nem lesz gondod a lépések követésével.

2. videó - Hogyan fogadj SMS-t a fenti Perl kóddal (Videó útmutató)

Összefoglalás

Ez a cikk bemutatta, hogyan fogadhatsz SMS üzeneteket Perl nyelven az Ozeki SMS Gateway beépített HTTP REST SMS API-jának használatával. Ha figyelmesen követted az útmutatót, most már létre tudsz hozni egy HTTP felhasználót az Ozeki SMS Gateway-ben, és használhatod a megadott tárhelyet az SMS-ek fogadásához a Perl SMS API-val. Ez a könyvtár ingyenesen használható, és bármilyen projektben módosíthatod.

Minél több tudásod van, annál hatékonyabb lehetsz, ezért olvass tovább. Nézd meg a Hogyan töltsd le a legújabb Perl SMS könyvtárat Github-ról cikket, és tanulj meg szélesebb körben használni a Perl SMS API-t.

Töltsd le most az Ozeki SMS Gateway-t, és kezdődhet a munka!

More information