Ako prijímať SMS v C#
Najjednoduchší spôsob, ako odosielať SMS z C#, 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 na príjemcove telefónne číslo a vráti HTTP 200 OK odpoveď na vašu požiadavku.
Ukážka kódu C# 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 C# 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.
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 + " správy stiahnuté z doručenej pošty."); foreach(Message msg in messages) { Console.WriteLine(msg); }; Console.ReadKey(); } } }
Ako použiť ukážku C# pre SMS:
Túto ukážku C# pre SMS môžete použiť v akejkoľvek aplikácii .NET alebo .NET core. Ak ju chcete použiť, musíte 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 C#. 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. SMS brána vám prepošle správu buď prostredníctvom bezdrôtového pripojenia alebo prostredníctvom internetu.
Stiahnuť ReceiveSms.cs
Zdrojový kód vysvetlený v tomto článku je možné stiahnuť, použiť a upraviť bezplatne.
Stiahnuť: ReceiveSms.cs.zip (33.8Kb)
Súbor ReceiveSms.cs.zip 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 v ňom tiež projekt ReceiveSms, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako prijímať SMS. Tento ukážkový kód je uvedený nižšie.
Na prijímanie SMS v C#:
- Nainštalujte Visual Studio Community
- Stiahnite si súbor ReceiveSms.cs.zip
- Rozbaľte súbor .zip zo stiahnutých súborov
- Otvorte súbor ReceiveSms.sln v Visual Studio
- Spustite Ozeki SMS Gateway
- Kliknite na HTTP používateľa v karte Používatelia a aplikácie
- Spustite Program.cs na prijímanie SMS v C#
- Skontrolujte doručenú poštu v Ozeki SMS Gateway
Ak chcete byť schopní odosielať a prijímať SMS z C#, musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, na ktorom vyvíjate svoj kód C# v Visual Studio. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z grafického rozhrania Ozeki, aby ste overili, že vaše mobilné pripojenie funguje. Posledným krokom pri príprave vášho prostredia je vytvorenie používateľského účtu 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 kód C#.
HTTP API URL na prijímanie SMS z C#Na odosielanie SMS z C# bude váš kód C# 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, na ktorom beží vaša aplikácia C# pre SMS, môže to byť 127.0.0.1. Ak je nainštalovaná na inom počítači, mala by to byť IP adresa tohto počítača.
http://127.0.0.1:9509/api?action=rest
Na autentifikáciu klienta SMS v C# musíte odoslať používateľské meno a heslo v reťazci zakódovanom v base64 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 reťazec zakódovaný v base64: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie
HTTP požiadavka na prijatie SMS pomocou C#
Na prijatie SMS bude vaša aplikácia v C# odosielať HTTP požiadavku podobnú ako tá 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.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Connection: Keep-Alive Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509
Na odoslanie SMS správ musíte do HTTP požiadavky zahrnúť nasledujúce riadky ako hlavičky. Upozorňujeme, že obsahujeme typ obsahu a autorizačnú hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
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.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" } ] } ] } }
Toto video vám ukáže, ako vytvoriť nový projekt konzolovej aplikácie .Net core v Visual Studio, ako ho pomenovať na ReceiveSms.sln. Keď je riešenie vytvorené, môžete si všimnúť, že do riešenia je pridaný Receive-SMS.csproj, a štandardne je otvorený súbor Program.cs. Môžete premenovať Program.cs na ReceiveSMS.cs, ak si budete priať. V videu uvidíte tiež, ako môže byť príkladový kód nižšie skopírovaný do súboru Program.cs a ako môže byť skompilovaný a spustený.
Príklad SMS v C#: ReceiveSms.slnAko stiahnuť a spustiť príkladový projekt (Video návod)
V tomto videu sa naučíte, ako stiahnuť a spustiť príkladový projekt ReceiveSMS.sln. Video začne na strane na stiahnutie a skončí s otvoreným editorom kódu. Naučíte sa, ako stiahnuť a kde nájsť váš príkladový projekt. Tiež vám ukážeme, ako otvoriť stiahnutý projekt. Toto video je dlhé len 1 minútu, ale je veľmi podrobné, takže nebudete mať problémy s dodržaním krokov.
Príkladový kód nižšie je súčasťou ReceiveSms.sln riešenia Visual Studio. Riešenie Visual Studio môže obsahovať viacero projektov a viacero súborov. V tomto riešení je len jeden projekt: ReceiveSms.csproj, a jeden súbor: Program.cs.
V ďalšom videu sa naučíte, ako spustiť príkladový kód a ako skontrolovať log procesu. Začne sa spustením Ozeki SMS Gateway a prevedie vás až na kartu udalostí. Naučíte sa, ako skontrolovať log, ako spustiť váš kód a ako skontrolovať prijaté správy. Video je dlhé len 1 minútu, ale obsahuje všetky potrebné informácie, ktoré potrebujete na použitie projektu ReceiveSMS.sln.
Spustenie príkladu SMS v C# na Windows
Keď použijete Windows na spustenie tohto príkladu SMS napísaného v C#, všimnete si, že dosiahnete mierne lepší výkon ako pri spustení na Linuxe. Aby ste pochopili, prečo sa to deje, musíte mať na pamäti, že C# používa na vykonávanie kódu framework .NET. Je to preto, lebo implementácia .NET na Windows je optimalizovaná na výkon, zatiaľ čo mono, implementácia .NET na Linuxe, má v tejto oblasti ešte čo doháňať.
Záver
Tento článok ukázal nevyhnutné kroky na prijímanie SMS v C#. S týmto návodom a Ozeki SMS Gateway prijímanie SMS v C# už nemusí byť problém. Dôkladne si preštudujte návod a tieto kroky zvládnete ľahko vykonať. Ozeki SMS Gateway je v tomto postupe kľúčový, pretože slúži ako spojovací článok medzi mobilnými používateľmi a vami. Skutočnosť, že Ozeki SMS Gateway beží v prostredí, ktoré kontrolujete, je dôležité zdôrazniť, pretože to znamená, že váš zoznam kontaktov a dáta sú v bezpečí.
Pokračujte v čítaní na stránke s návodmi Ozeki, kde nájdete ďalšie návody na témy ako plánovanie z C#.
Stiahnite si Ozeki SMS Gateway ešte dnes a nech sa práca začne!
More information