Kako primiti SMS u C#
Najjednostavniji način za slanje SMS-a iz C# je korištenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gatewaya. Kada koristite ovaj API, slati ćete SMS poruke slanjem HTTP Post zahtjeva SMS gatewayu. HTTP Post zahtjev će sadržavati poruku formatiranu u json formatu. SMS gateway će poslati ovaj SMS na telefonski broj primatelja i vratit će HTTP 200 OK odgovor na vaš zahtjev.
C# kod za primanje SMS-a s mobitela
C# sms primjer koda ispod pokazuje kako možete primiti SMS koristeći http rest sms api Ozeki SMS Gatewaya koristeći C# Ozeki.Libs.Rest biblioteku. Ova biblioteka vam je dostupna besplatno, a možete je koristiti i mijenjati u bilo kojem od vaših projekata.
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 + " poruka preuzeto iz pristigle pošte."); foreach(Message msg in messages) { Console.WriteLine(msg); }; Console.ReadKey(); } } }
Kako koristiti C# sms primjer:
Ovaj C# sms primjer može se koristiti u bilo kojoj .NET ili .NET core aplikaciji. Da biste ga koristili, morate dodati Ozeki.Libs.Rest dll kao referencu u vaš projekt. Nakon dodavanja reference na projekt, morate staviti direktivu using Ozeki.Libs.Rest; u zaglavlje vašeg C# izvornog koda. To će vam omogućiti korištenje klasa koje pruža Ozeki.Libs.Rest biblioteka. Možete koristiti klasu MessageApi za primanje SMS-a iz SMS gatewaya. SMS gateway će vam proslijediti poruku bilo putem bežične veze ili putem interneta.
Preuzimanje ReceiveSms.cs
Izvorni kod objašnjen u ovom članku može se besplatno preuzeti, koristiti i mijenjati.
Preuzimanje: ReceiveSms.cs.zip (33.8Kb)
Što se nalazi u datoteci ReceiveSms.cs.zip?
Datoteka ReceiveSms.cs.zip sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve alate potrebne za slanje i primanje SMS poruka. Također ćete pronaći projekt ReceiveSms u zip datoteci, koji sadrži primjer koda koji pokazuje kako primiti SMS. Ovaj primjer koda je naveden ispod.
Kako primiti SMS u C# (Jednostavne smjernice)
Za primanje SMS-a u C#:
- Postavite Visual Studio Community
- Preuzmite datoteku ReceiveSms.cs.zip
- Raspakirajte .zip datoteku iz Preuzimanja
- Otvorite datoteku ReceiveSms.sln u Visual Studiju
- Pokrenite Ozeki SMS Gateway
- Kliknite na HTTP korisnika u kartici Korisnici i aplikacije
- Pokrenite Program.cs za primanje SMS-a u C#
- Provjerite pristiglu poštu u Ozeki SMS Gatewayu
Instalirajte Ozeki SMS Gateway i stvorite HTTP API korisnika
Da biste mogli slati i primati SMS iz C#, prvo morate instalirati Ozeki SMS Gateway. SMS gateway se može instalirati na istom računalu na kojem razvijate svoj C# kod u Visual studiju. Nakon instalacije, sljedeći korak je povezivanje Ozeki SMS Gatewaya s mobilnom mrežom. Možete poslati testni sms iz Ozeki GUI-a kako biste potvrdili da vaša mobilna mrežna veza radi. Konačni korak za pripremu vašeg okruženja je stvaranje HTTP sms api korisničkog računa. Stvorite korisnika s korisničkim imenom "http_user" i lozinkom "qwe123" kako bi primjer radio bez izmjena.
Nakon postavljanja okruženja, možete pokrenuti svoj C# kod.
HTTP API url za primanje SMS-a iz C#
Za slanje SMS-a iz C#, vaš C# kod će morati poslati HTTP zahtjev SMS gatewayu. API url je prikazan ispod. Imajte na umu da IP adresa (127.0.0.1) treba biti zamijenjena IP adresom vašeg SMS gatewaya. Ako je Ozeki SMS Gateway instaliran na istom računalu na kojem se pokreće C# sms aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računalu, treba biti IP adresa tog računala.
http://127.0.0.1:9509/api?action=rest
HTTP autentifikacija za primanje SMS-a iz C#
Za autentifikaciju C# SMS klijenta, morate poslati korisničko ime i lozinku u base64 kodiranom stringu na poslužitelj u HTTP zahtjevu. Korišteni format je: base64(korisničko_ime+":"+lozinka). U C# možete koristiti sljedeći kod za ovo kodiranje:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
Na primjer, ako kodirate korisničko ime 'http_user' i lozinku 'qwe123', dobit ćete sljedeći base64 kodirani string: aHR0cF91c2VyOnF3ZTEyMw==. Za slanje
Da biste primili SMS, vaša C# aplikacija će poslati HTTP zahtjev sličan ovome u nastavku. Imajte na umu da ovaj zahtjev sadrži dio HTTP zaglavlja i dio HTTP tijela. Tijelo HTTP-a je JSON kodirani niz podataka. Sadrži broj primatelja i tekst poruke.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Connection: Keep-Alive Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509
HTTP zaglavlje zahtjeva za primanje SMS-a iz C#
Za slanje SMS poruka potrebno je uključiti sljedeće retke kao zaglavlja u HTTP zahtjev. Imajte na umu da uključujemo vrstu sadržaja i zaglavlje za autorizaciju.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP odgovor primljen u C# SMS primjeru
Nakon što SMS pristupnik primi ovaj zahtjev, generirat će HTTP odgovor. HTTP odgovor sadržavat će statusni kod kako bi naznačio je li zahtjev za slanje SMS-a bio uspješan ili ne. Također će vratiti JSON kodiranu strukturu kako bi vam pružio korisne pojedinosti o slanju poruke.
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" } ] } ] } }
Kako primiti SMS s C# koristeći C# SMS API (Video tutorial)
Ovaj video vam pokazuje kako stvoriti novi .Net core konzolni projekt u Visual Studiju, kako ga nazvati ReceiveSms.sln. Nakon što je rješenje stvoreno, možete primijetiti da je Receive-SMS.csproj dodan u rješenje, a po defaultu se otvara datoteka Program.cs. Možete preimenovati Program.cs u ReceiveSMS.cs ako želite. Također ćete vidjeti u videu kako se primjer koda u nastavku može kopirati u datoteku Program.cs, te kako se može kompajlirati i izvršiti.
C# SMS primjer: ReceiveSms.sln
Kako preuzeti i pokrenuti primjer projekta (Video tutorial)
U ovom videu naučit ćete kako preuzeti i pokrenuti primjer projekta ReceiveSMS.sln. Video će započeti sa stranicom za preuzimanje i završiti s otvorenim uređivačem koda. Naučit ćete kako preuzeti i gdje pronaći svoj primjer projekta. Također, pokazat ćemo vam kako otvoriti preuzeti projekt. Ovaj video traje samo 1 minutu, ali je vrlo detaljan, tako da nećete imati problema s praćenjem koraka.
Primjer koda u nastavku dio je ReceiveSms.sln Visual Studio rješenja. Visual studio rješenje može sadržavati više projekata i više datoteka. U ovom rješenju postoji samo jedan projekt: ReceiveSms.csproj, i jedna datoteka: Program.cs.
Kako koristiti kod (Video tutorial)
U sljedećem videu naučit ćete kako pokrenuti primjer koda i kako provjeriti dnevnik procesa. Počet će s pokretanjem Ozeki SMS pristupnika i odvest će vas sve do kartice događaja. Naučit ćete kako provjeriti dnevnik, kako pokrenuti svoj kod i kako provjeriti primljene poruke. Video traje samo 1 minutu, ali sadrži sve potrebne informacije koje su vam potrebne za korištenje projekta ReceiveSMS.sln.
Pokretanje C# SMS primjera na Windowsu
Kada koristite Windows za pokretanje ovog SMS primjera napisanog u C#, primijetit ćete da dobivate nešto bolje performanse nego kada ga pokrećete na Linuxu. Da biste razumjeli zašto se to događa, morate imati na umu da C# koristi .NET framework za izvršavanje koda. To je zato što je .NET implementacija na Windowsu optimizirana za performanse, dok mono, .NET implementacija na Linuxu, još uvijek treba nadoknaditi u tom području.
Zaključak
Ovaj članak pokazao je potrebne korake za primanje SMS-a u C#. S ovim vodičem i Ozeki SMS Gateway-om, primanje SMS-a u C# više ne mora biti problem. Pažljivo proučite vodič i moći ćete lako izvesti ove korake. Ozeki SMS Gateway je ključan u ovom postupku, jer služi kao spoj između mobilnih korisnika i vas. Činjenica da Ozeki SMS Gateway radi u okruženju koje vi kontrolirate mora biti istaknuta jer to znači da su vaš popis kontakata i podaci sigurni.
Nastavite čitati na Ozekijevoj stranici s tutorijalima, gdje možete pronaći više vodiča o temama poput planiranja iz C#.
Preuzmite Ozeki SMS Gateway sada i neka počne rad!
More information