Kako prejemati SMS v C#

Najenostavnejši način za pošiljanje SMS iz C# je uporaba vgrajenega HTTP/Rest SMS API-ja Ozeki SMS Gateway. Ko uporabljate ta API, boste pošiljali SMS sporočila z izdajo HTTP Post zahteve proti SMS prehodu. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS prehod bo poslal ta SMS prejemniku in vrnil HTTP 200 OK odgovor na vašo zahtevo.

kako prejemati sms v c z uporabo rest api
Slika 1 - Prejem SMS v C# z uporabo Rest api

C# koda za prejem SMS iz mobilne naprave

Spodnji vzorec C# SMS kode prikazuje, kako lahko prejemate SMS z uporabo http rest sms api Ozeki SMS Gateway z uporabo knjižnice C# Ozeki.Libs.Rest. Ta knjižnica vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od vaših projektov.

Program.cs
using 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 + " sporočil prejetih iz nabiralnika.");

            foreach(Message msg in messages)
            {
                Console.WriteLine(msg);   
            };

            Console.ReadKey();
        }
    }
}

Kako uporabiti C# SMS primer:

Ta C# SMS primer lahko uporabite v kateri koli .NET ali .NET core aplikaciji. Za uporabo morate dodati Ozeki.Libs.Rest dll kot referenco v vaš projekt. Po dodajanju reference projekta morate v glavni del vaše C# izvorne kode dodati direktivo using Ozeki.Libs.Rest;. To vam bo omogočilo uporabo razredov, ki jih ponuja knjižnica Ozeki.Libs.Rest. Razred MessageApi lahko uporabite za prejem SMS iz SMS prehoda. SMS prehod vam bo sporočilo posredoval prek brezžične povezave ali prek interneta.

Prenesite ReceiveSms.cs

Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: ReceiveSms.cs.zip (33,8Kb)

Kaj je v datoteki ReceiveSms.cs.zip?

Datoteka ReceiveSms.cs.zip vsebuje knjižnico Ozeki.Libs.Rest, ki vam ponuja vsa orodja, potrebna za pošiljanje in prejemanje SMS sporočil. V zip datoteki boste našli tudi projekt ReceiveSms, ki vsebuje primer kode, ki prikazuje kako prejeti SMS. Ta primer kode je naveden spodaj.

mapa za prejem sms v cs
Slika 2 - Kaj je v ReceiveSms.cs.zip

Kako prejemati SMS v C# (Preprosta navodila)

Za prejem SMS v C#:

  1. Namestite Visual Studio Community
  2. Prenesite datoteko ReceiveSms.cs.zip
  3. Razširite .zip datoteko iz Prenosi
  4. Odprite datoteko ReceiveSms.sln v Visual Studiu
  5. Zaženite Ozeki SMS Gateway
  6. Kliknite na HTTP uporabnika v zavihku Uporabniki in aplikacije
  7. Zaženite Program.cs za prejem SMS v C#
  8. Preverite nabiralnik v Ozeki SMS Gateway
Namestite Ozeki SMS Gateway in ustvarite HTTP API uporabnika

Da lahko pošiljate in prejemate SMS iz C#, morate najprej namestiti Ozeki SMS Gateway. SMS prehod lahko namestite na isti računalnik, kjer razvijate svojo C# kodo v Visual Studiu. Po namestitvi je naslednji korak povezovanje Ozeki SMS Gateway z mobilnim omrežjem. Lahko pošljete testni SMS iz Ozeki GUI, da preverite, ali vaša mobilna omrežna povezava deluje. Zadnji korak za pripravo vašega okolja je ustvarjanje HTTP SMS API uporabniškega računa. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da bo primer deloval brez sprememb.

Ko je okolje pripravljeno, lahko zaženete svojo C# kodo.

HTTP API url za prejem SMS iz C#

Za pošiljanje SMS iz C#, bo vaša C# aplikacija morala izdati HTTP zahtevo proti SMS prehodu. API url je prikazan spodaj. Upoštevajte, da je treba IP naslov (127.0.0.1) zamenjati z IP naslovom vašega SMS prehoda. Če je Ozeki SMS Gateway nameščen na istem računalniku, kjer teče vaša C# SMS aplikacija, je to lahko 127.0.0.1. Če je nameščen na drugem računalniku, mora biti to IP naslov tega računalnika.

http://127.0.0.1:9509/api?action=rest
HTTP avtentikacija za prejem SMS iz C#

Za avtentikacijo C# SMS odjemalca morate poslati uporabniško ime in geslo v base64 kodiranem nizu na strežnik v HTTP zahtevi. Uporabljen format je: base64(uporabniško_ime+":"+geslo). V C# lahko za to kodiranje uporabite naslednjo kodo:

var encoding = Encoding.GetEncoding("iso-8859-1");
var usernamePassword = username + ":" + password;
var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
	

Na primer, če kodirate uporabniško ime 'http_user' in geslo 'qwe123', boste prejeli naslednji base64 kodiran niz: aHR0cF91c2VyOnF3ZTEyMw==. Za pošiljanje

HTTP zahteva za prejemanje SMS s C#

Za prejemanje SMS bo vaša aplikacija v C# poslala HTTP zahtevo, podobno spodnji. Upoštevajte, da ta zahteva vsebuje del glave HTTP in del telesa HTTP. Telo HTTP je niz podatkov, kodiran v JSON. Vsebuje prejemnikovo številko in besedilo sporočila.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Connection: Keep-Alive
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
	
Glava HTTP zahteve za prejemanje SMS iz C#

Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevo. Upoštevajte, da vključujemo vrsto vsebine in glavo za avtorizacijo.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP odziv, prejet s primerom SMS v C#

Ko SMS prehod prejme to zahtevo, bo ustvaril HTTP odziv. HTTP odziv bo vseboval statusno kodo, ki označuje, ali je bila zahteva za oddajo SMS uspešna ali ne. Prav tako bo vrnil strukturo, kodirano v JSON, ki vam bo zagotovila koristne podrobnosti o oddaji sporočila.

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 prejemati SMS s C# z uporabo C# SMS API (Video vadnica)

Ta video prikazuje, kako ustvariti nov projekt konzole .Net core v Visual Studiu, kako ga poimenovati v ReceiveSms.sln. Ko je rešitev ustvarjena, lahko opazite, da je Receive-SMS.csproj dodan v rešitev in da je privzeto odprta datoteka Program.cs. Program.cs lahko po želji preimenujete v ReceiveSMS.cs. V videu boste videli tudi, kako lahko spodnji primer kode kopirate v datoteko Program.cs in kako jo lahko prevedete in izvedete.

Primer SMS v C#: ReceiveSms.sln
Kako prenesti in zagnati primer projekta (Video vadnica)

V tem videu se boste naučili, kako prenesti in zagnati primer projekta ReceiveSMS.sln. Video se bo začel s stranjo za prenos in končal z odprtim urejevalnikom kode. Naučili se boste, kako prenesti in kje najti svoj primer projekta. Prav tako vam bomo pokazali, kako odpreti preneseni projekt. Ta video je dolg le 1 minuto, vendar je zelo podroben, tako da ne boste imeli težav pri sledenju korakom.

Video 1 - Kako prenesti in zagnati primer rešitve (Video vadnica)

Spodnja primer kode je del vizualne rešitve ReceiveSms.sln Visual Studio. Vizualna rešitev studio lahko vsebuje več projektov in več datotek. V tej rešitvi je samo en projekt: ReceiveSms.csproj in ena datoteka: Program.cs.

Slika 3 - ReceiveSms.sln

Kako uporabiti kodo (Video vadnica)

V naslednjem videu se boste naučili, kako zagnati primer kode in kako preveriti dnevnik procesa. Začel se bo z zagonom Ozeki SMS prehoda in vas popelje vse do zavihka dogodkov. Naučili se boste, kako preveriti dnevnik, kako zagnati svojo kodo in kako preveriti prejeta sporočila. Video je dolg le 1 minuto, vendar vsebuje vse potrebne informacije, ki jih potrebujete za uporabo projekta ReceiveSMS.sln.

Video 2 - Kako prejemati SMS s kodo C# zgoraj (Video vadnica)

Zagon primera SMS v C# na sistemu Windows

Ko uporabljate Windows za zagon tega primera SMS, napisanega v C#, boste opazili, da je delovanje nekoliko boljše kot pri zagonu na Linuxu. Da bi razumeli, zakaj se to dogaja, morate upoštevati, da C# uporablja ogrodje .NET za izvajanje kode. To je zato, ker je implementacija .NET na Windowsu optimizirana za zmogljivost, medtem ko ima mono, implementacija .NET na Linuxu, na tem področju še nekaj za dohiteti.

Zaključek

Ta članek je prikazal potrebne korake za prejemanje SMS v C#. S tem vodnikom in Ozeki SMS Gateway prejemanje SMS v C# ne bo več težava. Skrbno preučite vodnik in te korake boste lahko zlahka izvedli. Ozeki SMS Gateway je ključen v tem postopku, saj služi kot povezava med mobilnimi uporabniki in vami. Dejstvo, da Ozeki SMS Gateway deluje v okolju, ki ga nadzorujete, je treba poudariti, saj to pomeni, da so vaš seznam stikov in podatki varni.

Nadaljujte z branjem na Ozeki učni strani, kjer najdete več vodnikov o temah, kot sta načrtovanje iz C#.

Prenesite Ozeki SMS Gateway zdaj in začnite z delom!

More information