Cum să primești un SMS în Visual Basic

Cea mai simplă metodă de a primi SMS din Visual Basic este utilizarea API-ului HTTP/Rest SMS integrat 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 mesaje sms folosind visual basic
Figura 1 - Primirea mesajelor SMS folosind Visual Basic

Cod Visual Basic pentru primirea SMS

Exemplul de cod Visual Basic pentru SMS de mai jos demonstrează cum poți primi SMS folosind API-ul http rest sms al Ozeki SMS Gateway cu ajutorul bibliotecii Visual Basic 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.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($"Există {result.Length} mesaje în directorul inbox:")
        For Each message As Message In result
            Console.WriteLine($"{message}")
        Next

        Console.ReadKey()

    End Sub
End Module

Cum să folosești exemplul de SMS în Visual Basic:

Acest exemplu de SMS în Visual Basic poate fi folosit în orice aplicație .NET sau .NET core. Pentru a-l folosi, trebuie să adaugi DLL-ul Ozeki.Libs.Rest ca referință în proiectul tău. După ce referința este adăugată, trebuie să incluzi directiva using Ozeki.Libs.Rest; în secțiunea de antet a codului sursă Visual Basic. Acest lucru îți va permite să folosești clasele furnizate de biblioteca Ozeki.Libs.Rest. Poți folosi clasa MessageApi pentru a primi SMS de la gateway-ul SMS.

Descarcă ReceiveSms.vb

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

Ce conține fișierul ReceiveSms.vb?

Fișierul ReceiveSms.vb conține biblioteca Ozeki.Libs.Rest, care îți oferă toate instrumentele necesare pentru trimiterea și primirea mesajelor SMS. Vei găsi de asemenea proiectul ReceiveSms în arhivă, care conține codul exemplu pentru a-ți arăta cum să trimiți un SMS. Acest cod exemplu este listat mai jos.

ce conține arhiva ozeki receive sms
Figura 2 - Ce conține ReceiveSms.vb.zip

Cum să primești SMS din Visual Basic (Pași rapizi)

Pentru a primi SMS din Visual Basic:

  1. Instalează Ozeki SMS Gateway
  2. Conectează Ozeki SMS Gateway la rețeaua mobilă
  3. Trimite un SMS test din interfața Ozeki
  4. Creează un utilizator HTTP sms api
  5. Pornește Visual Studio
  6. Creează o soluție numită ReceiveSms.sln
  7. Adaugă un proiect consolă Visual Basic: ReceiveSms.vbproj
  8. Introdu codul în Program.vb sau ReceiveSms.vb
  9. Creează o cerere HTTP pentru a primi SMS
  10. Citește răspunsul HTTP
  11. Afișează răspunsul pe consolă
  12. Verifică jurnalele din gateway-ul SMS
Instalează Ozeki SMS Gateway și creează un utilizator HTTP API

Pentru a putea trimite SMS din Visual Basic, 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 Visual Basic î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 Visual Basic.

URL API HTTP pentru a primi SMS din Visual Basic

Pentru a trimite SMS din Visual Basic, aplicația ta Visual Basic 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 ta Visual Basic pentru SMS, 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 Visual Basic

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

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

De exemplu, dacă codezi numele de utilizator 'http_user' și parola 'qwe123', vei obține următorul șir codificat base64: aHR0cF91c2VyOnF3ZTEyMw==. Pentru a trimite

Antetul cererii HTTP pentru a primi SMS din Visual Basic

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==
Cererea HTTP pentru a primi SMS folosind Visual Basic

Pentru a trimite SMS-ul, aplicația dvs. Visual Basic 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: Keep-Alive
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
	
Răspunsul HTTP primit de exemplul de SMS în Visual Basic

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ă cererea de trimitere a SMS-ului 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.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"
	        }
	      ]
	    }
	  ]
	}
}
	
Exemplu de SMS în Visual Basic: ReceiveSMS.sln

În acest videoclip, veți învăța cum să descărcați și să rulați proiectul exemplu ReceiveSMS.sln. Videoclipul va începe cu pagina de descărcare și se va încheia cu editorul de cod deschis. Vă vom arăta cum să descărcați și să deschideți fișierul proiect. Videoclipul durează doar 58 de secunde, dar conține toate informațiile necesare pentru a efectua sarcina. Puteți începe procesul de descărcare de pe pagina de tutorial.

Video 1 - Cum să descărcați și să rulați proiectul exemplu de mai sus (Tutorial video)

Exemplul de cod de mai jos face parte din Soluția Visual Studio ReceiveSms.sln. O soluție Visual Studio poate conține mai multe proiecte și mai multe fișiere. În această soluție sunt doar două proiecte: ReceiveSms.vbproj, Ozeki.Libs.Rest.csproj, și un fișier: Program.vb.

cum să primiți sms folosind visual basic
Figura 3 - ReceiveSms.sln

Cum să utilizați proiectul exemplu (Tutorial video)

În următorul videoclip, veți învăța cum să rulați codul exemplu și cum să verificați jurnalul procesului. Acesta va începe cu lansarea Ozeki SMS Gateway și vă va conduce până la lista de mesaje primite. Sarcina este ușor de efectuat și acest videoclip este foarte detaliat, dar scurt. Durează doar 46 de secunde să-l urmăriți. Veți învăța cum să descărcați toate mesajele primite cu ajutorul Visual Basic.

Video 2 - Cum să utilizați soluția ReceiveSms.vb (Tutorial video)

Rularea exemplului de SMS în Visual Basic pe Windows

Când utilizați Windows pentru a rula acest exemplu de SMS scris în Visual Basic, veți observa că obțineți o performanță ușor mai bună decât atunci când îl rulați pe Linux. Pentru a înțelege de ce se întâmplă acest lucru, trebuie să țineți cont de faptul că Visual Basic utilizează cadrul .NET pentru executarea codului. Acest lucru se datorează faptului că implementarea .NET pe Windows este optimizată pentru performanță, în timp ce mono, implementarea .NET pe Linux, mai are de recuperat în acest domeniu.

Concluzie

Articolul a prezentat pașii de primire a SMS-urilor în VB cu ajutorul Ozeki SMS Gateway. Dacă pașii au fost urmăți cu atenție, ar trebui să puteți primi mesaje în Visual Basic. Ozeki SMS Gateway se întâmplă să fie legătura dintre utilizatorii de telefonie mobilă și dumneavoastră, așa că descărcarea acestui program este inevitabilă. După cum ați putut vedea în acest ghid, Ozeki SMS Gateway poate fi gestionat foarte ușor și este de încredere.

Asigurați-vă că nu vă opriți din citit aici, navigați pe pagina de tutoriale Ozeki și găsiți mai multe informații despre subiecte similare, cum ar fi programarea în Visual Basic.

Singurul lucru pe care trebuie să-l faceți acum este să descărcați Ozeki SMS Gateway și să începeți lucrul!

More information