Ako prijímať SMS vo Visual Basic
Najjednoduchší spôsob, ako prijímať SMS z Visual Basic, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete odosielať SMS správy vytvorením HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu vo formáte JSON. SMS brána odošle túto SMS príjemcovi a vráti HTTP 200 OK odpoveď na vašu požiadavku.
Ukážka kódu Visual Basic pre SMS nižšie demonštruje, ako môžete prijímať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím knižnice Visual Basic Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.
ReceiveSms.vbImports 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($"V priečinku doručenej pošty je {result.Length} správ:") For Each message As Message In result Console.WriteLine($"{message}") Next Console.ReadKey() End Sub End Module
Ako použiť ukážku Visual Basic pre SMS:
Táto ukážka Visual Basic pre SMS môže byť použitá v akomkoľvek .NET alebo .NET core aplikácii. Na použitie je potrebné pridať Ozeki.Libs.Rest DLL ako referenciu do vášho projektu. Po pridaní referencie projektu musíte vložiť direktívu using Ozeki.Libs.Rest; do hlavičkovej časti vášho zdrojového kódu Visual Basic. To vám umožní používať triedy poskytované knižnicou Ozeki.Libs.Rest. Môžete použiť triedu MessageApi na prijatie SMS z SMS brány.
Stiahnuť ReceiveSms.vb
Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: ReceiveSms.vb.zip (39.8Kb)
Súbor ReceiveSms.vb obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. Nájdete tu tiež projekt ReceiveSms v zip súbore, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať SMS. Tento ukážkový kód je uvedený nižšie.
Na prijímanie SMS z Visual Basic:
- Nainštalujte Ozeki SMS Gateway
- Pripojte Ozeki SMS Gateway k mobilnej sieti
- Odošlite testovaciu SMS z Ozeki GUI
- Vytvorte používateľa HTTP SMS API
- Spustite Visual Studio
- Vytvorte riešenie s názvom ReceiveSms.sln
- Pridajte Visual Basic konzolový projekt: ReceiveSms.vbproj
- Vložte kód do Program.vb alebo ReceiveSms.vb
- Vytvorte HTTP požiadavku na prijatie SMS
- Prečítajte si HTTP odpoveď
- Vypíšte odpoveď na konzolu
- Skontrolujte záznamy v SMS bráne
Aby ste mohli odosielať SMS z Visual Basic, musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu môžete nainštalovať na rovnakom počítači, kde vyvíjate svoj Visual Basic kód v Visual Studio. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI, aby ste overili, že vaše pripojenie k mobilnej sieti funguje. Posledným krokom na prípravu vášho prostredia je vytvorenie používateľa HTTP SMS API. Vytvorte používateľa s používateľským menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.
Po nastavení prostredia môžete spustiť svoj Visual Basic kód.
HTTP API URL na prijímanie SMS z Visual BasicNa odosielanie SMS z Visual Basic bude vaše Visual Basic aplikácia musieť vytvoriť HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaná na rovnakom počítači, kde beží Visual Basic SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaná na inom počítači, mala by to byť IP adresa toho počítača.
http://127.0.0.1:9509/api?action=rest
Na autentifikáciu Visual Basic SMS klienta musíte odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Používa sa formát: base64(používateľské meno+":"+heslo). V C# môžete použiť nasledujúci kód na toto kódovanie:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci base64 kódovaný reťazec: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie
HTTP hlavička požiadavky na prijímanie SMS z Visual Basic
Na odoslanie SMS správ musíte zahrnúť nasledujúce riadky ako hlavičky do HTTP požiadavky. Upozorňujeme, že obsahujeme typ obsahu a autorizačnú hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Na odoslanie SMS bude vaša aplikácia Visual Basic odosielať HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text správy.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Connection: Keep-Alive Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509
Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Vráti tiež štruktúru zakódovanú v JSON, ktorá poskytne užitočné informácie o odoslaní správy.
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" } ] } ] } }
V tomto videu sa naučíte, ako stiahnuť a spustiť príkladový projekt ReceiveSMS.sln. Video začne stránkou na stiahnutie a skončí otvoreným editorom kódu. Ukážeme vám, ako stiahnuť a otvoriť súbor projektu. Video je dlhé len 58 sekúnd, ale obsahuje všetky informácie, ktoré potrebujete na vykonanie úlohy. Proces sťahovania môžete spustiť zo stránky s návodom.
Príkladový kód nižšie je súčasťou riešenia Visual Studio ReceiveSms.sln. Riešenie Visual Studio môže obsahovať viacero projektov a viacero súborov. V tomto riešení sú len dva projekty: ReceiveSms.vbproj, Ozeki.Libs.Rest.csproj, a jeden súbor: Program.vb.
V ďalšom videu sa naučíte, ako spustiť príkladový kód a ako skontrolovať záznam procesu. Začne sa spustením Ozeki SMS brány a prevedie vás až k zoznamu prijatých správ. Úloha je ľahko vykonateľná a toto video je veľmi podrobné, ale krátke. Trvá len 46 sekúnd. Naučíte sa, ako stiahnuť všetky prijaté správy pomocou Visual Basic.
Spustenie príkladu SMS v Visual Basic na Windows
Keď použijete Windows na spustenie tohto príkladu SMS napísaného v Visual Basic, zistíte, že dostanete mierne lepší výkon ako pri spustení na Linuxe. Aby ste pochopili, prečo sa to deje, musíte mať na pamäti, že Visual Basic používa na vykonávanie kódu framework .NET. Je to preto, lebo implementácia .NET na Windows je optimalizovaná pre výkon, zatiaľ čo mono, implementácia .NET na Linuxe, má v tejto oblasti nejaké nedostatky.
Záver
Článok predstavil kroky na prijímanie SMS vo VB pomocou Ozeki SMS Gateway. Ak boli kroky dodržané pozorne, mali by ste byť schopní prijímať správy v jazyku Visual Basic. Ozeki SMS Gateway je spojovacím článkom medzi mobilnými používateľmi a vami, takže stiahnutie tohto programu je nevyhnutné. Ako ste mohli vidieť v tomto sprievodcovi, Ozeki SMS Gateway sa dá veľmi ľahko spravovať a je spoľahlivý.
Uistite sa, že nekončíte s čítaním tu, prehľadajte stránku s návodmi Ozeki a nájdite viac informácií o podobných témach, ako sú plánovanie v jazyku Visual Basic.
Teraz už len stačí stiahnuť Ozeki SMS Gateway a nechať prácu začať!
More information
- VB send SMS with the HTTP rest API (code sample)
- VB send multiple SMS with the HTTP rest API (code sample)
- VB schedule SMS with the HTTP rest API (code sample)
- VB receive SMS with the HTTP rest API (code sample)
- VB delete SMS with the HTTP rest API (code sample)
- Github: VB SMS API
- SMS nuget library for Visual Basic (VB)