Ako poslať SMS z Visual Basic
Najjednoduchší spôsob, ako poslať SMS z Visual Basic, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy odoslaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána pošle túto SMS príjemcovi a vráti HTTP 200 OK odpoveď na vašu požiadavku.
Imports Ozeki.Libs.Rest Module Program 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 msg As New Message msg.ToAddress = "+36201111111" msg.Text = "Hello, World!" Dim api = New MessageApi(configuration) Dim result = api.Send(msg) Console.WriteLine(result) Console.ReadKey() End Sub End Module
Zdrojový kód vysvetlený v tomto článku je možné stiahnuť, použiť a upravovať bezplatne.
Stiahnuť: SendSms.vb.zip (48.6Kb)
Súbor SendSms.vb.zip obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. V zip súbore nájdete aj projekt SendSms, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako poslať SMS. Tento ukážkový kód je uvedený nižšie.
Ak chcete poslať 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 Send-SMS.sln
- Pridajte Visual Basic konzolový projekt: Send-SMS.vbproj
- Vložte kód do Program.vb alebo Send-SMS.vb
- Vytvorte funkciu Visual Basic s názvom Send_SMS
- Vytvorte JSON dáta pre SMS
- Vytvorte HTTP požiadavku na odoslanie SMS
- Prečítajte si HTTP odpoveď
- Vypíšte odpoveď na konzolu
- Skontrolujte záznamy v SMS bráne
Aby ste mohli posielať SMS z Visual Basic, musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné 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 odoslanie SMS z Visual BasicAk chcete poslať SMS z Visual Basic, váš Visual Basic bude musieť odoslať 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 overenie 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 na toto kódovanie použiť nasledujúci kód:
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 odoslanie SMS z Visual BasicNa odoslanie SMS správ musíte do hlavičiek HTTP požiadavky zahrnúť nasledujúce riadky. Upozorňujeme, že obsahujeme hlavičku Content-Type a Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požiadavka na odoslanie SMS z Visual Basic
Na odoslanie SMS bude vaša aplikácia Visual Basic odosielať HTTP požiadavku podobnú ako je uvedená nižšie. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť HTTP tela. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text správy.
POST /api?action=sendmsg HTTP/1.1 Connection: Keep-Alive Content-Length: 336 Content-Type: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 { "messages": [ { "message_id": "4b486234-1dde-4975-b233-47267e988287", "to_address": "+36201111111", "text": "Hello, World!", "create_date": "2021-06-11 14:19:47", "valid_until": "2021-06-18 14:19:47", "time_to_send": "2021-06-11 14:19:47", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
HTTP odpoveď prijatá príkladom SMS v Visual Basic
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. Taktiež vráti š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.118 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Fri, 11 Jun 2021 08:44:45 GMT Server: 10/10.3.118 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "7e4fa89b-df8a-4267-afe3-da348bf200ef", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello, World!", "create_date": "2021-06-11 14:19:47", "valid_until": "2021-06-18 14:19:47", "time_to_send": "2021-06-11 14:19:47", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Ako odoslať SMS z Visual Basic (Video návod)
Toto video vám ukáže, ako vytvoriť nový projekt .Net core konzoly v Visual Studio, ako ho pomenovať na Send-SMS.sln. Po vytvorení riešenia si môžete všimnúť, že do riešenia bol pridaný Send-SMS.vbproj, a štandardne je otvorený súbor Program.cs. Môžete premenovať Program.vb na Send-SMS.vb, ak si budete priať. Vo videu tiež uvidíte, ako môže byť príklad kódu nižšie skopírovaný do súboru Send-SMS.vb, a ako môže byť skompilovaný a spustený.
SendSms.sln
Príklad kódu nižšie je súčasťou SendSms.sln riešenia Visual Studio. Riešenie Visual Studio môže obsahovať viacero projektov a súborov. V tomto riešení sú iba dva projekty: SendSms.vbproj, Ozeki.Libs.Rest.csproj, a jeden súbor: Program.vb.
Ako skontrolovať, že SMS bola prijatá HTTP používateľom
Po odoslaní SMS je dobré skontrolovať vašu SMS bránu, aby ste videli, čo prijala. Môžete skontrolovať log otvorením detailov HTTP používateľa v konzole správy Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať.
Ako skontrolovať, že SMS bola odoslaná do mobilnej siete
Posledným krokom pri overovaní postupu je pozrieť sa na logy pripojenia k mobilnej sieti. Možno budete musieť zapnúť logovanie v konfigurácii pripojenia pred odoslaním správy, aby ste videli logy. Ak je logovanie zapnuté, uvidíte telefónne číslo a text odoslanej správy.
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, všimnete si, že dostanete mierne lepší výkon, ako keď ho spustíte 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.
Zhrnutie
Sprievodca vyššie vysvetlil kroky odosielania SMS z prostredia Visual Basic. Ozeki poskytuje všetky vedomosti a nástroje, ktoré vám uľahčia prácu. Ak boli kroky dôsledne dodržané, komunikácia s mobilnými zákazníkmi z VB s pomocou Ozeki SMS Gateway by nemala byť komplikovaná. Vysoký výkon Ozeki SMS Gateway vám umožňuje odosielať až 1000 SMS za sekundu.
Nezabudnite pokračovať v čítaní na stránke tutoriálov Ozeki, kde nájdete informácie o podobných témach, ako je prijímanie v VB.
Vašou ďalšou úlohou je stiahnuť si Ozeki SMS Gateway a začať pracovať!
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)