Jak odbierać SMS w Visual Basic

Najprostszym sposobem na odbieranie SMS z Visual Basic 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 do odbiorcy i zwróci odpowiedź HTTP 200 OK na twoje żądanie.

jak odbierać wiadomości sms za pomocą visual basic
Rysunek 1 - Odbieranie wiadomości SMS za pomocą Visual Basic

Kod Visual Basic do odbierania SMS

Poniższy przykładowy kod Visual Basic do obsługi SMS demonstruje, jak można odbierać SMS za pomocą interfejsu HTTP REST SMS API Ozeki SMS Gateway, korzystając z biblioteki Ozeki.Libs.Rest dla Visual Basic. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym ze swoich projektów.

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($"There are {result.Length} in the inbox folder:")
        For Each message As Message In result
            Console.WriteLine($"{message}")
        Next

        Console.ReadKey()

    End Sub
End Module

Jak używać przykładu SMS w Visual Basic:

Ten przykład SMS w Visual Basic może być używany w dowolnej aplikacji .NET lub .NET core. Aby go użyć, musisz dodać bibliotekę Ozeki.Libs.Rest jako referencję do swojego projektu. Po dodaniu referencji do projektu, musisz umieścić dyrektywę using Ozeki.Libs.Rest; w sekcji nagłówka swojego kodu źródłowego Visual Basic. To pozwoli ci na użycie klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy MessageApi do odbioru SMS z bramki SMS.

Pobierz ReceiveSms.vb

Kod źródłowy wyjaśniony w tym artykule może być pobrany, używany i modyfikowany bezpłatnie.
Pobierz: ReceiveSms.vb.zip (39.8Kb)

Co znajduje się w pliku ReceiveSms.vb?

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

co znajduje się w archiwum zip ozeki receive sms
Rysunek 2 - Co znajduje się w ReceiveSms.vb.zip

Jak odbierać SMS z Visual Basic (Szybkie kroki)

Aby odbierać SMS z Visual Basic:

  1. Zainstaluj Ozeki SMS Gateway
  2. Podłącz Ozeki SMS Gateway do sieci komórkowej
  3. Wyślij testową wiadomość SMS z interfejsu Ozeki
  4. Utwórz użytkownika HTTP SMS API
  5. Uruchom Visual Studio
  6. Utwórz rozwiązanie o nazwie ReceiveSms.sln
  7. Dodaj projekt konsolowy Visual Basic: ReceiveSms.vbproj
  8. Umieść kod w Program.vb lub ReceiveSms.vb
  9. Utwórz żądanie HTTP do odbioru SMS
  10. Odczytaj odpowiedź HTTP
  11. Wyświetl odpowiedź na konsoli
  12. Sprawdź logi w bramce SMS

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

Aby móc wysyłać SMS z Visual Basic, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod Visual Basic w Visual Studio. Po instalacji, kolejnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testową wiadomość SMS 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 Visual Basic.

URL API HTTP do odbierania SMS z Visual Basic

Aby wysyłać SMS z Visual Basic, twoja aplikacja Visual Basic będzie musiała 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 zainstalowana na tym samym komputerze, na którym działa aplikacja SMS Visual Basic, może to być 127.0.0.1. Jeśli jest zainstalowana na innym komputerze, powinien to być adres IP tego komputera.

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

Uwierzytelnianie HTTP do odbierania SMS z Visual Basic

Aby uwierzytelnić klienta SMS Visual Basic, 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 C# możesz użyć następującego kodu do wykonania tego kodowania:

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

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 odbierania SMS z Visual Basic

Aby wysłać wiadomości SMS, należy dołączyć 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 odbierania SMS przy użyciu Visual Basic

Aby przesłać SMS, Twoja aplikacja Visual Basic 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.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Connection: Keep-Alive
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
	

Odpowiedź HTTP otrzymana przez przykład SMS w Visual Basic

Gdy brama SMS otrzyma to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, aby wskazać, czy żądanie przesł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.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"
	        }
	      ]
	    }
	  ]
	}
}
	

Przykład SMS w Visual Basic: ReceiveSMS.sln


W tym filmie dowiesz się, jak pobrać i uruchomić przykładowy projekt ReceiveSMS.sln. Film rozpocznie się od strony pobierania i zakończy się otwartym edytorem kodu. Pokażemy Ci, jak pobrać i otworzyć plik projektu. Film trwa tylko 58 sekund, ale zawiera wszystkie informacje potrzebne do wykonania zadania. Proces pobierania możesz rozpocząć ze strony tutoriala.

Wideo 1 - Jak pobrać i uruchomić przykładowy projekt powyżej (Tutorial wideo)

Poniższy przykładowy kod jest częścią rozwiązania Visual Studio ReceiveSms.sln. Rozwiązanie Visual Studio może zawierać wiele projektów i wiele plików. W tym rozwiązaniu znajdują się tylko dwa projekty: ReceiveSms.vbproj, Ozeki.Libs.Rest.csproj, oraz jeden plik: Program.vb.

jak odbierać sms przy użyciu visual basic
Rysunek 3 - ReceiveSms.sln

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

W kolejnym filmie dowiesz się, jak uruchomić przykładowy kod i jak sprawdzić log procesu. Rozpocznie się od uruchomienia bramki SMS Ozeki i przeprowadzi Cię aż do listy odebranych wiadomości. Zadanie jest łatwe do wykonania, a ten film jest bardzo szczegółowy, ale krótki. Obejrzenie go zajmuje tylko 46 sekund. Dowiesz się, jak pobrać wszystkie odebrane wiadomości za pomocą Visual Basic.

Wideo 2 - Jak używać rozwiązania ReceiveSms.vb (Tutorial wideo)

Uruchamianie przykładowego SMS w Visual Basic na Windows

Kiedy używasz systemu Windows do uruchomienia tego przykładu SMS napisanego w Visual Basic, zauważysz, że uzyskujesz nieco lepszą wydajność niż podczas uruchamiania go na Linuxie. Aby zrozumieć, dlaczego tak się dzieje, należy pamiętać, że Visual Basic używa frameworka .NET do wykonywania kodu. Dzieje się tak, ponieważ implementacja .NET w systemie Windows jest zoptymalizowana pod kątem wydajności, podczas gdy mono, implementacja .NET na Linuxie, ma jeszcze pewne zaległości w tej dziedzinie.

Podsumowanie

Artykuł przedstawił kroki odbierania SMS-ów w VB z pomocą Ozeki SMS Gateway. Jeśli kroki były starannie wykonane, powinieneś być w stanie odbierać wiadomości w Visual Basic. Ozeki SMS Gateway jest łącznikiem między użytkownikami mobilnymi a Tobą, więc pobranie tego programu jest nieuniknione. Jak mogłeś zobaczyć w tym przewodniku, Ozeki SMS Gateway może być zarządzany bardzo łatwo i jest niezawodny.

Upewnij się, że nie kończysz czytania tutaj, przejrzyj stronę z tutorialami Ozeki i znajdź więcej informacji na temat podobnych zagadnień, takich jak planowanie w Visual Basic.

Jedyne, co musisz teraz zrobić, to pobrać Ozeki SMS Gateway i rozpocząć pracę!

More information