Kako primiti SMS u Visual Basic-u

Najjednostavniji način za primanje SMS-a iz Visual Basic-a je korišćenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gateway-a. Kada koristite ovaj API, slaćete SMS poruke slanjem HTTP Post zahteva ka SMS gateway-u. HTTP Post zahtev će sadržati poruku formatiranu u json formatu. SMS gateway će poslati ovaj SMS primaocu, i vratiće HTTP 200 OK odgovor na vaš zahtev.

kako primati sms poruke koristeći visual basic
Slika 1 - Primanje SMS poruka koristeći Visual Basic

Visual Basic kod za primanje SMS-a

Visual Basic SMS primer koda ispod demonstrira kako možete primati SMS koristeći http rest sms api Ozeki SMS Gateway-a koristeći Visual Basic Ozeki.Libs.Rest biblioteku. Ova biblioteka vam je dostupna besplatno, i možete je koristiti i modifikovati u bilo kom od vaših projekata.

ReceiveSms.vb
Imports Ozeki.Libs.Rest

Module ReceiveSMS
    Sub Main(args As String())

        Dim configuration As New Configuration
        configuration.Username = "http_user"
        configuration.Password = "qwe123"
        configuration.ApiUrl = "http://127.0.0.1:9509/api"

        Dim api As New MessageApi(configuration)

        Dim result = api.DownloadIncoming()

        Console.WriteLine($"Postoji {result.Length} poruka u inbox folderu:")
        For Each message As Message In result
            Console.WriteLine($"{message}")
        Next

        Console.ReadKey()

    End Sub
End Module

Kako koristiti Visual Basic SMS primer:

Ovaj Visual Basic SMS primer može se koristiti u bilo kojoj .NET ili .NET core aplikaciji. Da biste ga koristili, morate dodati Ozeki.Libs.Rest dll kao referencu u vaš projekat. Nakon dodavanja reference, morate staviti using Ozeki.Libs.Rest; direktivu u zaglavlje vašeg Visual Basic source koda. Ovo će vam omogućiti da koristite klase dostupne u Ozeki.Libs.Rest biblioteci. Možete koristiti MessageApi klasu da primite SMS sa SMS gateway-a.

Preuzmite ReceiveSms.vb

Source kod objašnjen u ovom članku može se preuzeti, koristiti i modifikovati besplatno.
Preuzmi: ReceiveSms.vb.zip (39.8Kb)

Šta se nalazi u ReceiveSms.vb fajlu?

ReceiveSms.vb fajl sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve alate potrebne za slanje i primanje SMS poruka. Takođe ćete naći ReceiveSms projekat u zip fajlu, koji sadrži primer koda koji pokazuje kako poslati SMS. Ovaj primer koda je prikazan ispod.

šta se nalazi u ozeki receive sms zip fajlu
Slika 2 - Šta se nalazi unutar ReceiveSms.vb.zip

Kako primiti SMS iz Visual Basic-a (Brzi koraci)

Da biste primili SMS iz Visual Basic-a:

  1. Instalirajte Ozeki SMS Gateway
  2. Povežite Ozeki SMS Gateway sa mobilnom mrežom
  3. Pošaljite test SMS iz Ozeki GUI-a
  4. Kreirajte HTTP SMS API korisnika
  5. Pokrenite Visual Studio
  6. Kreirajte solution pod nazivom ReceiveSms.sln
  7. Dodajte Visual Basic konzolni projekat: ReceiveSms.vbproj
  8. Ubacite kod u Program.vb ili ReceiveSms.vb
  9. Kreirajte http zahtev za primanje SMS-a
  10. Pročitajte HTTP odgovor
  11. Ispišite odgovor na konzolu
  12. Proverite logove u SMS gateway-u
Instalirajte Ozeki SMS Gateway i kreirajte HTTP API korisnika

Da biste mogli da šaljete SMS iz Visual Basic-a, prvo morate instalirati Ozeki SMS Gateway. SMS gateway može biti instaliran na istom računaru gde razvijate svoj Visual Basic kod u Visual Studio-u. Nakon instalacije, sledeći korak je da povežete Ozeki SMS Gateway sa mobilnom mrežom. Možete poslati test SMS iz Ozeki GUI-a da potvrdite da vaša mobilna mrežna veza radi. Poslednji korak za pripremu vašeg okruženja je da kreirate HTTP SMS API korisnika. Kreirajte korisnika sa korisničkim imenom "http_user", i lozinkom "qwe123" kako bi primer radio bez modifikacija.

Nakon što je okruženje postavljeno, možete pokrenuti svoj Visual Basic kod.

HTTP API url za primanje SMS-a iz Visual Basic-a

Da biste poslali SMS iz Visual Basic-a, vaš Visual Basic će morati da pošalje HTTP zahtev ka SMS gateway-u. API url je prikazan ispod. Imajte na umu da IP adresa (127.0.0.1) treba da bude zamenjena sa IP adresom vašeg SMS gateway-a. Ako je Ozeki SMS Gateway instaliran na istom računaru gde se pokreće Visual Basic SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računaru, treba da bude IP adresa tog računara.

http://127.0.0.1:9509/api?action=rest
HTTP autentifikacija za primanje SMS-a iz Visual Basic-a

Da biste autentifikovali Visual Basic SMS klijent, morate poslati korisničko ime i lozinku u base64 kodiranom stringu ka serveru u HTTP zahtevu. Format koji se koristi je: base64(korisničko_ime+":"+lozinka). U C# možete koristiti sledeći kod za ovo kodiranje:

var encoding = Encoding.GetEncoding("iso-8859-1");
var usernamePassword = username + ":" + password;
var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));

Na primer, ako kodirate korisničko ime 'http_user' i lozinku 'qwe123', dobićete sledeći base64 kodirani string: aHR0cF91c2VyOnF3ZTEyMw==. Da biste poslali

HTTP заглавље захтева за пријем SMS-а из Visual Basic-а

Да бисте послали SMS поруке, потребно је да укључите следеће редове као заглавља у HTTP захтев. Имајте на уму да укључујемо тип садржаја и заглавље за ауторизацију.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP захтев за пријем SMS-а користећи Visual Basic

Да бисте поднели SMS, ваша Visual Basic апликација ће послати HTTP захтев сличан оном испод. Имајте на уму да овај захтев садржи део HTTP заглавља и део HTTP тела. HTTP тело је JSON кодирани низ података. Садржи број примаоца и текст поруке.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Connection: Keep-Alive
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
	
HTTP одговор примљен од стране Visual Basic SMS примера

Када SMS gateway прими овај захтев, генерисаће HTTP одговор. HTTP одговор ће садржати статусни код, који указује да ли је захтев за слање SMS-а био успешан или не. Такође ће вратити JSON кодирану структуру која вам пружа корисне детаље о слању поруке.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.116 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Thu, 10 Jun 2021 11:02:26 GMT
Server: 10/10.3.116
Transfer-Encoding: chunked
{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "",
	"data": {
	  "folder": "inbox",
	  "limit": "1000",
	  "data": [
	    {
	      "message_id": "94219121-e5b5-4845-9721-074f5307c9a4",
	      "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-06-10 11:46:16",
	      "valid_until": "2021-06-17 11:46:16",
	      "time_to_send": "2021-06-10 11:46:16",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "d6f832b2-dbc8-4b1b-8b47-44b3bb6658bf",
	      "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-06-10 11:46:16",
	      "valid_until": "2021-06-17 11:46:16",
	      "time_to_send": "2021-06-10 11:46:16",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "0bf86b3a-e4a9-4d8e-970c-ed486b02db7a",
	      "from_connection": "http_user@localhost",
	      "from_address": "+362011111111",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-06-10 11:46:16",
	      "valid_until": "2021-06-17 11:46:16",
	      "time_to_send": "2021-06-10 11:46:16",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}
	
Visual Basic SMS пример: ReceiveSMS.sln

У овом видеу, научићете како да преузмете и покренете пример пројекта ReceiveSMS.sln. Видео ће почети са страницом за преузимање и завршиће се са отвореним уређивачем кода. Показаћемо вам како да преузмете и отворите фајл пројекта. Видео траје само 58 секунди, али садржи све информације које су вам потребне за овај задатак. Процес преузимања можете покренути са странице са туторијалом.

Видео 1 - Како да преузмете и покренете пример пројекта изнад (Видео туторијал)

Пример кода испод је део ReceiveSms.sln Visual Studio решења. Visual studio решење може садржати више пројеката и више фајлова. У овом решењу постоје само два пројекта: ReceiveSms.vbproj, Ozeki.Libs.Rest.csproj, и један фајл: Program.vb.

како примити SMS користећи Visual Basic
Слика 3 - ReceiveSms.sln

Како користити пример пројекта (Видео туторијал)

У следећем видеу, научићете како да покренете пример кода и како да проверите лог процеса. Почеће се покретањем Ozeki SMS Gateway-а и водиће вас све до листе примљених порука. Овај задатак је лако извести, а овај видео је веома детаљан али кратак. Потребно је само 46 секунди да га одгледате. Научићете како да преузмете све примљене поруке уз помоћ Visual Basic-а.

Видео 2 - Како користити ReceiveSms.vb решење (Видео туторијал)

Покретање Visual Basic SMS примера на Windows-у

Када користите Windows за покретање овог SMS примера написаног у Visual Basic-у, приметићете да добијате нешто боље перформансе него када га покренете на Linux-у. Да бисте разумели зашто се то дешава, морате имати на уму да Visual Basic користи .NET framework за извршавање кода. То је зато што је .NET имплементација на Windows-у оптимизована за перформансе, док mono, .NET имплементација на Linux-у, има још мало посла у том погледу.

Zaključak

Članak je predstavio korake za primanje SMS poruka u VB uz pomoć Ozeki SMS Gateway-a. Ako su koraci pažljivo primenjeni, trebali biste moći da primate poruke u Visual Basic-u. Ozeki SMS Gateway predstavlja vezu između mobilnih korisnika i vas, tako da je preuzimanje ovog programa neizbežno. Kao što ste videli u ovom vodiču, Ozeki SMS Gateway se može veoma lako upravljati i pouzdan je.

Ne završavajte čitanje ovde, pregledajte Ozeki-ovu stranicu sa tutorijalima i pronađite više informacija o sličnim temama, kao što su zakazivanje u Visual Basic-u.

Sve što vam sada preostaje je da preuzmete Ozeki SMS Gateway i započnete rad!

More information