Jak odeslat SMS z Visual Basic
Nejjednodušší způsob, jak odeslat SMS z Visual Basic, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy odesláním HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu ve formátu JSON. SMS brána odešle tuto SMS na příjemcův telefon a vrátí HTTP 200 OK odpověď na váš požadavek.
Příklad kódu pro odeslání SMS z Visual Basic
Program.vbImports 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 = "Ahoj, světe!" Dim api = New MessageApi(configuration) Dim result = api.Send(msg) Console.WriteLine(result) Console.ReadKey() End Sub End Module
Stáhnout SendSms.vb
Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendSms.vb.zip (48.6Kb)
Co je v souboru SendSms.vb.zip?
Soubor SendSms.vb.zip obsahuje knihovnu Ozeki.Libs.Rest, která vám poskytuje všechny nástroje potřebné k odesílání a přijímání SMS zpráv. V zipu také najdete projekt SendSms, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.
Jak odeslat SMS z Visual Basic (Rychlé kroky)
Pro odeslání SMS z Visual Basic:
- Nainstalujte Ozeki SMS Gateway
- Připojte Ozeki SMS Gateway k mobilní síti
- Odešlete testovací SMS z Ozeki GUI
- Vytvořte uživatele HTTP SMS API
- Spusťte Visual Studio
- Vytvořte řešení s názvem Send-SMS.sln
- Přidejte Visual Basic konzolový projekt: Send-SMS.vbproj
- Vložte kód do Program.vb nebo Send-SMS.vb
- Vytvořte Visual Basic funkci s názvem Send_SMS
- Vytvořte JSON data pro SMS
- Vytvořte HTTP požadavek pro odeslání SMS
- Přečtěte si HTTP odpověď
- Vypište odpověď na konzoli
- Zkontrolujte logy v SMS bráně
Instalace Ozeki SMS Gateway a vytvoření uživatele HTTP API
Abyste mohli odesílat SMS z Visual Basic, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj Visual Basic kód ve Visual Studiu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z Ozeki GUI, abyste ověřili, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření uživatele HTTP SMS API. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.
Po nastavení prostředí můžete spustit svůj Visual Basic kód.
URL HTTP API pro odesílání SMS z Visual Basic
Pro odesílání SMS z Visual Basic musí váš Visual Basic odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Všimněte si, že IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží Visual Basic SMS aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by to být IP adresa tohoto počítače.
http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro odesílání SMS z Visual Basic
Pro autentizaci Visual Basic SMS klienta musíte odeslat uživatelské jméno a heslo v base64 kódovaném řetězci na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V C# můžete použít následující kód pro toto kódování:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
Například, pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
Hlavička HTTP požadavku pro odeslání SMS z Visual Basic
Pro odeslání SMS zpráv musíte do hlavičky HTTP požadavku zahrnout následující řádky. Všimněte si, že zahrnujeme content type a Authorization hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požadavek pro odeslání SMS z Visual Basic
Pro odeslání SMS bude vaše aplikace Visual Basic odesílat HTTP požadavek podobný tomu níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprá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 odpověď přijatá příkladem SMS v Visual Basic
Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Vrátí také strukturu zakódovanou v JSON, která vám poskytne užitečné detaily o odeslání zprá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" } ] } }
Jak odeslat SMS z Visual Basic (Video návod)
Toto video vám ukáže, jak vytvořit nový projekt .Net core konzole v Visual Studiu, jak jej pojmenovat na Send-SMS.sln. Jakmile je řešení vytvořeno, můžete si všimnout, že Send-SMS.vbproj je přidán do řešení a ve výchozím nastavení je otevřen soubor Program.cs. Můžete přejmenovat Program.vb na Send-SMS.vb, pokud si přejete. Ve videu také uvidíte, jak lze příkladový kód níže zkopírovat do souboru Send-SMS.vb a jak jej lze zkompilovat a spustit.
SendSms.sln
Příkladový kód níže je součástí řešení Visual Studio SendSms.sln. Řešení Visual Studio může obsahovat více projektů a více souborů. V tomto řešení jsou pouze dva projekty: SendSms.vbproj, Ozeki.Libs.Rest.csproj a jeden soubor: Program.vb.
Jak zkontrolovat, že SMS byla přijata HTTP uživatelem
Po odeslání SMS je dobré zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele z konzole pro správu Ozeki SMS brány. Následující video vám ukáže, na co se zaměřit.
Jak zkontrolovat, že SMS byla odeslána do mobilní sítě
Posledním krokem při ověřování procedury je podívat se na protokoly připojení k mobilní síti. Možná budete muset před odesláním zprávy zapnout protokolování v konfiguraci připojení, abyste viděli protokoly. Pokud je protokolování povoleno, uvidíte telefonní číslo a text odeslané zprávy.
Spuštění příkladu SMS v Visual Basic na Windows
Když použijete Windows pro spuštění tohoto příkladu SMS napsaného v Visual Basic, všimnete si, že získáte mírně lepší výkon než při spuštění na Linuxu. Abyste pochopili, proč k tomu dochází, musíte mít na paměti, že Visual Basic používá pro provádění kódu framework .NET. Je to proto, že implementace .NET na Windows je optimalizována pro výkon, zatímco mono, implementace .NET na Linuxu, má v této oblasti nějaké zpoždění.
Shrnutí
Výše uvedený průvodce vysvětluje kroky pro odesílání SMS z Visual Basic. Ozeki poskytuje všechny znalosti a nástroje, které vám usnadní práci. Pokud byly kroky pečlivě dodrženy, zasílání zpráv mobilním zákazníkům z VB s pomocí Ozeki SMS Gateway by nemělo být složité. Vysoký výkon Ozeki SMS Gateway vám umožňuje odesílat až 1000 SMS za sekundu.
Nezapomeňte pokračovat ve čtení na stránce tutoriálů Ozeki, kde najdete informace o podobných tématech, jako je příjem SMS v VB.
Vaším dalším krokem by mělo být stažení Ozeki SMS Gateway a začít pracovat!
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)