Hogyan kapjunk SMS-t C#-ban
A legegyszerűbb módja az SMS küldésének C#-ból az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használod, SMS üzeneteket küldhetsz HTTP POST kérések kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumban formázott üzenetet fog tartalmazni. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonszámára, és egy HTTP 200 OK választ küld vissza a kérésedre.
C# kód SMS fogadására mobilról
Az alábbi C# SMS kódminta bemutatja, hogyan fogadhatsz SMS-t az Ozeki SMS Gateway http rest sms API-jával a C# Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető számodra, és bármely projektben felhasználhatod és módosíthatod.
Program.csusing Ozeki.Libs.Rest; using System; namespace ReceiveSms { class Program { static void Main(string[] args) { var configuration = new Configuration() { Username = "http_user", Password = "qwe123", ApiUrl = "http://127.0.0.1:9509/api" }; var api = new MessageApi(configuration); var messages = api.DownloadIncoming(); Console.WriteLine(messages.Length + " üzenet letöltve a beérkező üzenetek közül."); foreach(Message msg in messages) { Console.WriteLine(msg); }; Console.ReadKey(); } } }
A C# SMS példa használata:
Ez a C# SMS példa bármely .NET vagy .NET core alkalmazásban használható. A használatához hozzá kell adnod az Ozeki.Libs.Rest dll-t referenciaként a projektedhez. A projekt referenciája hozzáadása után az using Ozeki.Libs.Rest; direktívát be kell illesztened a C# forráskódod fejléc részébe. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. A MessageApi osztály segítségével fogadhatod az SMS-t az SMS gateway-től. Az SMS gateway vezeték nélküli kapcsolaton vagy az interneten keresztül továbbítja az üzenetet neked.
ReceiveSms.cs letöltése
A cikkben ismertetett forráskód letölthető, felhasználható és módosítható ingyenesen.
Letöltés: ReceiveSms.cs.zip (33.8Kb)
Mi található a ReceiveSms.cs.zip fájlban?
A ReceiveSms.cs.zip fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS üzenetek küldéséhez és fogadásához. A zip fájlban megtalálod a ReceiveSms projektet is, amely tartalmazza a példakódot, amely bemutatja, hogyan fogadj egy SMS-t. Ez a példakód az alábbiakban látható.
Hogyan fogadjunk SMS-t C#-ban (Egyszerű útmutató)
Az SMS fogadásához C#-ban:
- Állítsd be a Visual Studio Community-t
- Töltsd le a ReceiveSms.cs.zip fájlt
- Csomagold ki a .zip fájlt a Letöltések közül
- Nyisd meg a ReceiveSms.sln fájlt a Visual Studio-ban
- Indítsd el az Ozeki SMS Gateway-t
- Kattints a HTTP felhasználóra a Felhasználók és alkalmazások lapon
- Futtasd a Program.cs-t az SMS fogadásához C#-ban
- Ellenőrizd a Beérkező üzeneteket az Ozeki SMS Gateway-ben
Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása
Ahhoz, hogy SMS-t tudj küldeni és fogadni C#-ból, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a C# kódodat fejleszted a Visual Studio-ban. A telepítés után a következő lépés az Ozeki SMS Gateway csatlakoztatása a mobil hálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobil hálózati kapcsolatod működik. A környezet előkészítésének utolsó lépése egy 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.
Miután a környezet beállításra került, futtathatod a C# kódodat.
HTTP API URL az SMS fogadásához C#-ból
Az SMS küldéséhez C#-ból a C# alkalmazásodnak HTTP kérést kell küldenie az SMS gateway felé. Az API URL az alábbiakban látható. Figyelj arra, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét kell beírnod. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a C# SMS alkalmazás fut, ez maradhat 127.0.0.1. Ha másik számítógépre van telepítve, annak IP címét kell megadnod.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés az SMS fogadásához C#-ból
A C# SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolt formában kell elküldened a szervernek egy HTTP kérésben. A használt formátum: base64(username+":"+password). C#-ban a következő kódot használhatod 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ódolod, a következő base64 kódolt stringet kapod: aHR0cF91c2VyOnF3ZTEyMw==.
HTTP kérés SMS fogadásához C#-ban
Az SMS fogadásához a C# alkalmazásod egy olyan HTTP kérést fog küldeni, mint az alábbi. Figyelj rá, hogy ez 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ódolt 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 kérés fejléc az SMS fogadásához C#-ból
Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznia a HTTP kérés fejlécének. Figyelj rá, hogy tartalmazunk egy content type és egy Authorization fejlécet.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP válasz, amit a C# SMS példa kap
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. Ezen kívül visszaad egy JSON kódolt struktúrát is, 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: Mon, 07 Jun 2021 14:10:25 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": "b754195d-9bd8-48dc-a45f-cf688c5b32e3", "from_connection": "http_user@localhost", "from_address": "+36201111111", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello, World 1", "create_date": "2021-06-08 09:12:24", "valid_until": "2021-06-15 09:12:24", "time_to_send": "0001-01-01 00:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "a6337c23-51bc-43ee-9181-c9838abbe161", "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-08 09:12:24", "valid_until": "2021-06-15 09:12:24", "time_to_send": "0001-01-01 00:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "ca14710b-42b9-4abc-b04f-262cc282dd7c", "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-08 09:12:24", "valid_until": "2021-06-15 09:12:24", "time_to_send": "0001-01-01 00:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] } }
Hogyan fogadjunk SMS-t C#-ban a C# sms api-val (Videós útmutató)
Ez a videó bemutatja, hogyan hozz létre egy új .Net core konzol projektet a Visual Studio-ban, hogyan nevezd el ReceiveSms.sln-re. Miután a megoldás létrejött, észreveheted, hogy egy Receive-SMS.csproj került hozzáadásra a megoldáshoz, és alapértelmezés szerint a Program.cs fájl nyílik meg. Átnevezheted a Program.cs-t ReceiveSMS.cs-re, ha szeretnéd. A videóban azt is látni fogod, hogyan másolható be az alábbi példakód a Program.cs fájlba, és hogyan fordítható és futtatható.
C# SMS példa: ReceiveSms.sln
Hogyan töltsd le és futtasd a példa projektet (Videós útmutató)
Ebben a videóban megtanulod, hogyan töltsd le és futtasd a ReceiveSMS.sln példa projektet. A videó a letöltési oldallal kezdődik és a megnyitott kódszerkesztővel ér véget. Megtanulod, hogyan töltsd le és hol találod meg a példa projektet. Ezen kívül megmutatjuk, hogyan nyisd meg a letöltött projektet. Ez a videó mindössze 1 perc hosszú, de nagyon részletes, így nem lesz gondod a lépések követésével.
Az alábbi példakód a ReceiveSms.sln Visual Studio Megoldás része. Egy Visual Studio megoldás több projektet és több fájlt is tartalmazhat. Ebben a megoldásban csak egy projekt található: ReceiveSms.csproj, és egy fájl: Program.cs.
Hogyan használd a kódot (Videós útmutató)
A következő videóban megtanulod, 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 végigvezet az események lapig. Megtanulod, hogyan ellenőrizd a naplót, hogyan futtasd a kódodat és hogyan ellenőrizd a fogadott üzeneteket. A videó mindössze 1 perc hosszú, de tartalmazza mindazt az információt, amire szükséged van a ReceiveSMS.sln projekt használatához.
A C# SMS példa futtatása Windows-on
Amikor Windows-on futtatod ezt az SMS példát C#-ban, észreveheted, hogy kissé jobb teljesítményt kapsz, mint Linux-on történő futtatáskor. Ennek megértéséhez észben kell tartanod, hogy a C# a .NET keretrendszert használja a kód végrehajtásához. Ez azért van, mert a .NET implementáció Windows-on teljesítményre van optimalizálva, míg a mono, a .NET implementáció Linux-on még fejlődik ezen a téren.
Összegzés
Ez a cikk bemutatta az SMS fogadásának szükséges lépéseit C#-ban. Ezzel az útmutatóval és az Ozeki SMS Gateway-vel az SMS fogadása C#-ban már nem lehet probléma. Tanulmányozd figyelmesen az útmutatót, és könnyedén végrehajthatod ezeket a lépéseket. Az Ozeki SMS Gateway kulcsszerepet játszik ebben a folyamatban, hiszen kapcsolatot teremt a mobil felhasználók és te között. Kiemelendő, hogy az Ozeki SMS Gateway egy olyan környezetben fut, amelyet te irányítasz, ami azt jelenti, hogy a névjegyzeted és adataid biztonságban vannak.
Folytasd az olvasást az Ozeki oktató oldalán, ahol további útmutatók találhatók olyan témákról, mint időzítés C#-ból.
Töltsd le az Ozeki SMS Gateway-t most, és kezdődhet a munka!
More information