Jak wysłać wiele SMS-ów z Perla

Najprostszym sposobem na wysłanie wielu SMS-ów z Perla jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Kiedy używasz tego API, będziesz wysyłać wiadomości SMS poprzez wysłanie żądania HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać wiadomość sformatowaną w formacie json. Bramka SMS wyśle tę wiadomość SMS na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na twoje żądanie.

jak wysłać wiele sms-ów z perla
Rysunek 1 - Jak wysłać wiele SMS-ów z Perla

Kod Perla do wysyłania wielu SMS-ów na telefon

Poniższy przykładowy kod SMS w Perlu demonstruje, jak możesz wysyłać SMS-y używając interfejsu HTTP REST SMS API Ozeki SMS Gateway z biblioteką Perl Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnych swoich projektach.

SendMultipleSms.pl
use 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);

Jak używać przykładu SMS w Perlu:

Ten przykład SMS w Perlu może być używany w dowolnej aplikacji Perla. Aby go użyć, musisz dodać bibliotekę Ozeki.Libs.Rest do swojego projektu. Po dodaniu biblioteki, musisz umieścić dyrektywę using Ozeki.Libs.Rest; w sekcji nagłówkowej swojego kodu źródłowego Perla. To pozwoli ci używać klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy Message do tworzenia SMS-ów. Możesz użyć klasy MessageApi do wysyłania wiadomości SMS do bramki SMS. Bramka SMS przekaże twoją wiadomość do sieci komórkowej albo przez połączenie bezprzewodowe, albo przez Internet.

Pobierz SendMultipleSms.pl

Kod źródłowy omówiony w tym artykule można pobrać, używać i modyfikować bezpłatnie.
Pobierz: SendMultipleSms.pl.zip (76.1Kb)

Co znajduje się w pliku SendMultipleSms.pl?

Plik SendMultipleSms.pl zawiera bibliotekę Ozeki.Libs.Rest, która daje ci wszystkie narzędzia niezbędne do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również plik SendMultipleSms, który zawiera przykładowy kod pokazujący, jak wysłać SMS. Ten przykładowy kod jest wymieniony poniżej.

Rysunek 2 - Co znajduje się w SendMultipleSms.pl.zip

Jak wysłać wiele SMS-ów z Perla (Szybkie kroki)

Aby wysłać wiele SMS-ów z Perla:

  1. Skonfiguruj Strawberry Perl
  2. Pobierz plik SendMultipleSms.pl.zip
  3. Wypakuj plik .zip z folderu Pobrane
  4. Otwórz plik SendSms.pl w Notatniku lub Visual Studio Code
  5. Uruchom Ozeki SMS Gateway
  6. Utwórz użytkownika HTTP API w Ozeki
  7. Uruchom kod Perla SendMultipleSms.pl w wierszu poleceń
  8. Sprawdź skrzynkę Wysłane w Ozeki SMS Gateway

Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API

Aby móc wysyłać SMS-y z Perla, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod Perla w Visual Studio. Po instalacji następnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testowego SMS-a z interfejsu Ozeki, aby sprawdzić, czy twoje połączenie z siecią komórkową działa. Ostatnim krokiem przygotowania środowiska jest utworzenie użytkownika HTTP SMS API. Utwórz użytkownika z nazwą "http_user" i hasłem "qwe123", aby przykład działał bez modyfikacji.

Po skonfigurowaniu środowiska możesz uruchomić swój kod Perla.

URL API HTTP do wysyłania SMS-ów z Perla

Aby wysłać SMS-y z Perla, twój Perl będzie musiał wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Zauważ, że adres IP (127.0.0.1) powinien zostać zastąpiony adresem IP twojej bramki SMS. Jeśli Ozeki SMS Gateway jest zainstalowany na tym samym komputerze, na którym działa aplikacja SMS w Perlu, może to być 127.0.0.1. Jeśli jest zainstalowany na innym komputerze, powinien to być adres IP tego komputera.

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

Uwierzytelnianie HTTP do wysyłania SMS-ów z Perla

Aby uwierzytelnić klienta SMS w Perlu, musisz wysłać nazwę użytkownika i hasło w zakodowanym ciągu base64 do serwera w żądaniu HTTP. Używany format to: base64(nazwa_użytkownika+":"+hasło). W Perlu możesz użyć następującego kodu do wykonania tego kodowania:

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

Na przykład, jeśli zakodujesz nazwę użytkownika 'http_user' i hasło 'qwe123', otrzymasz następujący zakodowany ciąg base64: aHR0cF91c2VyOnF3ZTEyMw==. Aby wysłać

Nagłówek żądania HTTP do wysyłania SMS z Perla

Aby wysłać wiadomości SMS, należy uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Należy zauważyć, że zawieramy typ zawartości i nagłówek autoryzacji.

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

Żądanie HTTP do wysyłania SMS z Perla

Aby przesłać SMS, Twoja aplikacja Perl wyśle żądanie HTTP podobne do poniższego. Należy zauważyć, że to żądanie zawiera część nagłówka HTTP i część ciała HTTP. Ciało HTTP to ciąg danych zakodowany w formacie JSON. Zawiera numer odbiorcy i tekst wiadomości.


Odpowiedź HTTP otrzymana przez przykład SMS w Perlu

Gdy brama SMS otrzyma to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, aby wskazać, czy żądanie wysłania SMS zakończyło się sukcesem, czy nie. Zwróci również strukturę zakodowaną w formacie JSON, aby dostarczyć przydatne informacje dotyczące przesłania wiadomości.

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

Przykład SMS w Perlu: SendMultipleSms.pl

W tym filmie zobaczysz proces pobierania i konfiguracji projektu SendMultipleSMS.pl. Rozpocznie się od pobrania projektu i zakończy się gotową konfiguracją. Poznasz wszystkie kroki procesu konfiguracji, które musisz wykonać, aby mieć działające rozwiązanie. Film trwa 1:44, ale pokazuje wszystkie kroki w bardzo szczegółowy sposób. Po jego obejrzeniu będziesz mógł samodzielnie pobrać i skonfigurować rozwiązanie.

Wideo 1 - Jak pobrać i skonfigurować powyższe rozwiązanie (Samouczek wideo)

Przykładowy kod

Na Rysunku 3 możesz zobaczyć przykładowy kod. Ten przykładowy kod wyśle wiele wiadomości SMS do wielu odbiorców. Jeśli znasz język programowania Perl, możesz dowolnie modyfikować kod. Wyśle SMS do wszystkich numerów telefonów zapisanych jako zmienna 'ToAddress', z tekstem zapisanym w zmiennych Text.

Rysunek 3 - SendMultipleSms.pl

Jak używać przykładowego pliku projektu (Samouczek wideo)

W tym filmie zobaczysz przykładowy projekt w działaniu. Pokażemy Ci, co musisz zrobić, aby projekt wysłał wiele wiadomości SMS za jednym uruchomieniem. Film trwa tylko 1:12 i zawiera wszystkie informacje potrzebne do uruchomienia programu. Rozpocznie się od otwartego projektu i zakończy się wysłaniem wszystkich wiadomości.

Wideo 2 - Jak używać pliku SendMultipleSms.pl (Samouczek wideo)

Podsumowanie

Powyższy przewodnik wyjaśnił kroki wysyłania wielu SMS w Perlu za pomocą Ozeki SMS Gateway. Jeśli każdy krok został wykonany starannie, powinieneś być w stanie dotrzeć do wielu klientów za pomocą jednego kodu Perl i Ozeki SMS Gateway. Dzięki temu rozwiązaniu duża liczba klientów może otrzymać swoje SMS-y w tym samym czasie. Warto zauważyć, że Ozeki SMS Gateway oferuje wysoką wydajność, co oznacza, że może wysłać do 1000 SMS na sekundę.

Upewnij się, że nie kończysz czytania tutaj, odwiedź stronę samouczków Ozeki, gdzie znajdziesz więcej informacji na podobne tematy, takie jak planowanie SMS w Perlu.

Jedyne, co teraz pozostaje, to pobrać Ozeki SMS Gateway i zacząć pracę!

More information