Hogyan kapjunk SMS-t Visual Basic nyelven
A legegyszerűbb módja az SMS fogadásának Visual Basic nyelven az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Ezt az API-t használva HTTP POST kérést küldhetünk az SMS gatewaynek, amely JSON formátumban formázott üzenetet tartalmaz. Az SMS gateway továbbítja az SMS-t a címzett telefonszámára, majd HTTP 200 OK választ küld vissza a kérésre.
Visual Basic kód SMS fogadásához
Az alábbi Visual Basic SMS kódminta bemutatja, hogyan fogadhatunk SMS-t az Ozeki SMS Gateway HTTP REST SMS API-jával, az Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen használható és módosítható bármely projektben.
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($"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
A Visual Basic SMS példa használata:
Ez a Visual Basic SMS példa bármely .NET vagy .NET Core alkalmazásban használható. Használatához hozzá kell adni az Ozeki.Libs.Rest DLL-t referenciaként a projekthez, majd az "Imports Ozeki.Libs.Rest" direktívát a forráskód fejlécébe. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár osztályainak használatát. A MessageApi osztály segítségével fogadhatjuk az SMS-eket az SMS gatewaytől.
ReceiveSms.vb letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, használható és módosítható.
Letöltés: ReceiveSms.vb.zip (39.8Kb)
Mi található a ReceiveSms.vb fájlban?
A ReceiveSms.vb fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A zip fájlban megtalálható a ReceiveSms projekt is, amely tartalmazza a példakódot, hogy hogyan küldjünk SMS-t. Ez a példakód az alábbiakban látható.
Hogyan fogadjunk SMS-t Visual Basic nyelven (Gyors lépések)
Az SMS fogadása Visual Basic nyelven:
- Telepítsd az Ozeki SMS Gateway-t
- Kapcsold az Ozeki SMS Gateway-t a mobil hálózathoz
- Küldj egy teszt SMS-t az Ozeki GUI-ból
- Hozz létre egy HTTP SMS API felhasználót
- Indítsd el a Visual Studio-t
- Hozz létre egy ReceiveSms.sln nevű megoldást
- Adj hozzá egy Visual Basic konzol projektet: ReceiveSms.vbproj
- Helyezd bele a kódot a Program.vb vagy ReceiveSms.vb fájlba
- Hozz létre egy HTTP kérést az SMS fogadásához
- Olvasd el a HTTP választ
- Írd ki a választ a konzolra
- Ellenőrizd a naplókat az SMS gatewayben
Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása
Ahhoz, hogy SMS-t küldhess Visual Basic nyelven, először HTTP SMS API felhasználói fiók létrehozása. Hozz létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.
A környezet beállítása után futtathatod a Visual Basic kódodat.
HTTP API URL az SMS fogadásához Visual Basic nyelven
Az SMS küldéséhez Visual Basic nyelven HTTP kérést kell küldened az SMS gatewaynek. Az API URL az alábbi. Fontos, hogy az IP cím (127.0.0.1) legyen az SMS gateway IP címe. Ha az Ozeki SMS Gateway ugyanazon a számítógépen van telepítve, ahol a Visual Basic SMS alkalmazás fut, ez maradhat 127.0.0.1. Ha másik számítógépen van, annak IP címét kell megadni.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés az SMS fogadásához Visual Basic nyelven
A Visual Basic SMS kliens hitelesítéséhez a felhasználónevet és jelszót base64 kódolású karakterláncként kell elküldeni a szervernek egy HTTP kérésben. A formátum: base64(felhasználónév+":"+jelszó). C# nyelven a következő kód használható a kódoláshoz:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
Például ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódoljuk, a következő base64 kódolású karakterláncot kapjuk: aHR0cF91c2VyOnF3ZTEyMw==.
HTTP kérés fejléc az SMS fogadásához Visual Basic nyelven
Az SMS üzenetek küldéséhez a következő sorokat kell fejlécben tartalmazni az HTTP kérésben. Fontos, hogy tartalmazzon egy Content-Type és egy Authorization fejlécet.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés az SMS fogadásához Visual Basic nyelven
Az SMS beküldéséhez a Visual Basic alkalmazás egy olyan HTTP kérést küld, mint az alábbi. A kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolású adatsor. Tartalmazza a címzett számát és az üzenet szövegét.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Connection: Keep-Alive Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509
HTTP válasz a Visual Basic SMS példa által fogadva
Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy státuszkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Egy JSON kódolású struktúrát is visszaad, amely hasznos részleteket nyújt az üzenet beküldéséről.
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" } ] } ] } }
Visual Basic SMS példa: ReceiveSMS.sln
Ebben a videóban megtanulhatod, hogyan töltheted le és futtathatod a ReceiveSMS.sln példaprojektet. A videó a letöltési oldallal kezdődik és a megnyitott kódszerkesztővel ér véget. Megmutatjuk, hogyan töltheted le és nyithatod meg a projektfájlt. A videó mindössze 58 másodperc hosszú, de tartalmazza az összes szükséges információt a feladat elvégzéséhez. A letöltési folyamatot az oktatóoldalról indíthatod el.
Az alábbi példakód a ReceiveSms.sln Visual Studio megoldás része. Egy Visual Studio megoldás több projektet és fájlt is tartalmazhat. Ebben a megoldásban csak két projekt található: ReceiveSms.vbproj, Ozeki.Libs.Rest.csproj, és egy fájl: Program.vb.
Hogyan használd a példaprojektet (Videó útmutató)
A következő videóban megtanulhatod, hogyan futtasd a példakódot és hogyan ellenőrizd a folyamat naplóját. Az Ozeki SMS Gateway elindításával kezdődik és a fogadott üzenetek listájáig vezet. A feladat könnyen elvégezhető és a videó nagyon részletes, de rövid. Mindössze 46 másodperc hosszú. Megtanulhatod, hogyan töltsd le az összes fogadott üzenetet Visual Basic segítségével.
A Visual Basic SMS példa futtatása Windows-on
Ha Windows-on futtatod ezt az SMS példát Visual Basic nyelven, észreveheted, hogy kissé jobb a teljesítmény, mint Linux-on. Ennek megértéséhez szem előtt kell tartanod, hogy a Visual Basic a .NET keretrendszert használja a kód végrehajtásához. Ez azért van, mert a .NET Windows-on optimalizált a teljesítményre, míg a mono, a .NET Linux-os implementációja ezen a téren még fejlődik.
Összegzés
A cikk bemutatta az SMS fogadásának lépéseit VB nyelven az Ozeki SMS Gateway segítségével. Ha a lépéseket gondosan követted, képesnek kell lenned üzenetek fogadására Visual Basic nyelven. Az Ozeki SMS Gateway a kapocs a mobil felhasználók és te között, ezért ennek a programnak a letöltése elkerülhetetlen. Ahogy ebben az útmutatóban láthattad, az Ozeki SMS Gateway könnyen kezelhető és megbízható.
Ne állj meg itt, böngészd az Ozeki oktatóanyagait és találj további információkat hasonló témákról, például az ütemezésről Visual Basic nyelven.
Most már csak annyi a dolgod, hogy letöltöd az Ozeki SMS Gateway-t és elkezded a munkát!
More information
- VB SMS küldés a HTTP rest API-val (kód minta)
- VB több SMS küldés a HTTP rest API-val (kód minta)
- VB SMS ütemezés a HTTP rest API-val (kód minta)
- VB SMS fogadás a HTTP rest API-val (kód minta)
- VB SMS törlés a HTTP rest API-val (kód minta)
- Github: VB SMS API
- SMS nuget könyvtár Visual Basic (VB) számára