Kako poslati več SMS sporočil iz C#
Najenostavnejši način za pošiljanje SMS sporočil iz C# je uporaba vgrajenega HTTP/Rest SMS API-ja Ozeki SMS Gateway. Ko uporabljate ta API, boste SMS sporočila pošiljali z izdajo HTTP Post zahteve do SMS prehoda. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS prehod bo poslal to SMS sporočilo prejemniku in vrnil HTTP 200 OK odgovor na vašo zahtevo.
Spodnji primer C# SMS kode prikazuje, kako lahko pošiljate SMS sporočila z uporabo http rest SMS API-ja 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.
SendSMS.csusing Ozeki.Libs.Rest; using System; namespace SendMultipleSms { 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 msg1 = new Message() { ToAddress = "+36201111111", Text = "Pozdravljen, svet 1" }; var msg2 = new Message() { ToAddress = "+362222222", Text = "Pozdravljen, svet 2" }; var msg3 = new Message() { ToAddress = "+363333333", Text = "Pozdravljen, svet 3" }; var api = new MessageApi(configuration); var result = api.Send(new Message[]{ msg1, msg2, msg3 }); Console.WriteLine(result); Console.ReadKey(); } } }
Kako uporabiti primer C# SMS kode:
Ta primer C# SMS kode 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 Message lahko uporabite za ustvarjanje SMS sporočila. Razred MessageApi lahko uporabite za pošiljanje SMS sporočila do SMS prehoda. SMS prehod bo vaše sporočilo posredoval v mobilno omrežje prek brezžične povezave ali prek interneta.
Prenesi SendSMS.cs
Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos in uporabo.
Prenos: SendMultipleSms.cs.zip (34.5Kb)
Datoteka SendMultipleSms.cs vsebuje knjižnico Ozeki.Libs.Rest, ki vam nudi vsa orodja, potrebna za pošiljanje in prejemanje SMS sporočil. V zip datoteki boste našli tudi projekt SendMultipleSms, ki vsebuje primer kode, ki vam pokaže, kako poslati SMS sporočilo. Ta primer kode je naveden spodaj.
Za pošiljanje več SMS sporočil iz C#:
- Namestite Visual Studio Community
- Prenesite datoteko Send-multiple-SMS.cs.zip
- Razširite .zip datoteko iz mape Prenosi
- Odprite datoteko SendMultipleSms.sln v Visual Studiu
- Zaženite Ozeki SMS Gateway
- Ustvarite HTTP API uporabnika v Ozeki
- Zaženite kodo Program.cs v Visual Studiu za pošiljanje testnih SMS sporočil
- Preverite mapo Poslano v Ozeki SMS Gateway
Da lahko pošiljate SMS sporočila 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 testno SMS sporočilo iz Ozeki GUI, da preverite, ali vaša mobilna omrežna povezava deluje. Končni korak pri pripravi vašega okolja je ustvarjanje HTTP SMS API uporabniškega računa. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da primer deluje brez sprememb.
Ko je okolje pripravljeno, lahko zaženete svojo C# kodo.
HTTP API url za pošiljanje SMS sporočil iz C#Za pošiljanje SMS sporočil iz C#, bo vaša C# aplikacija morala izdati HTTP zahtevo do SMS prehoda. 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 pošiljanje SMS iz C#
Za avtentikacijo C# SMS odjemalca morate uporabniško ime in geslo poslati 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 glava zahteve za pošiljanje SMS iz C#
Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevo. Opazite, da vključujemo vrsto vsebine in avtorizacijsko glavo.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP zahteva za pošiljanje SMS iz C#
Za oddajo SMS sporočil bo vaša C# aplikacija poslala HTTP zahtevo, podobno spodnji. Opazite, da ta zahteva vsebuje del z glavo HTTP in del s telesom HTTP. Telo HTTP je niz podatkov, kodiran v JSON. Vsebuje prejemnikovo številko in besedilo sporočila.
POST /api?action=sendmsg HTTP/1.1 Connection: Keep-Alive Content-Length: 979 Content-Type: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9511 { "messages": [ { "message_id": "49aa6f3a-5d2a-4d53-bd63-9eb9da8bb23e", "to_address": "+36201111111", "text": "Hello, World 1", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] }, { "message_id": "62098595-5ff8-4ca8-8b06-54f0fb31ee12", "to_address": "+362222222", "text": "Hello, World 2", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] }, { "message_id": "f5b576ff-52b8-4de0-9677-4731769198f9", "to_address": "+363333333", "text": "Hello, World 3", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
HTTP odziv, prejet v C# SMS primeru
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: Fri, 11 Jun 2021 13:06:37 GMT Server: 10/10.3.116 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Sporočila so v čakalni vrsti za dostavo.", "data": { "total_count": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "49aa6f3a-5d2a-4d53-bd63-9eb9da8bb23e", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello, World 1", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "62098595-5ff8-4ca8-8b06-54f0fb31ee12", "from_station": "%", "to_address": "+362222222", "to_station": "%", "text": "Hello, World 2", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "f5b576ff-52b8-4de0-9677-4731769198f9", "from_station": "%", "to_address": "+363333333", "to_station": "%", "text": "Hello, World 3", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
C# SMS primer: SendMultipleSms.sln
Kako prenesti projekt SendMultipleSMS.sln (Video vadnica)
V naslednjem videoposnetku boste izvedeli, kako lahko uporabite projekt SendMultipleSMS.sln v C#. Video se bo začel s strani za prenos in vas popelje vse do odprtega okna urejevalnika kode. Naučili se boste, kako prenesti in odpreti datoteko s kodo. Video je dolg le 54 sekund, vsebuje pa vse potrebne informacije za uspešno uporabo primerne datoteke s kodo.
Primer kode spodaj je del vizualne rešitve SendMultipleSms.sln v Visual Studiu. Vizualna rešitev lahko vsebuje več projektov in več datotek. V tej rešitvi je samo en projekt: SendMultipleSms.csproj, in ena datoteka: Program.cs.
V naslednjem posnetku boste videli, kako lahko zaženete kodo SendMultipleSMS.cs v C#. Video se bo začel z odprto kodo in vas popelje vse do zavihka z dogodki, kjer je prikazan dnevnik poslanih sporočil. Videli boste, kako zagnati kodo in kaj se zgodi, če je koda izvedena. Video je nekoliko krajši od 1 minute, vsebuje pa vse informacije, ki so potrebne za zagon projekta.
Zagon primera SMS v C# v sistemu Windows
Ko uporabljate Windows za zagon tega primera SMS, napisanega v C#, boste opazili, da dobite nekoliko boljšo zmogljivost kot pri zagonu na Linuxu. Da bi razumeli, zakaj se to zgodi, morate upoštevati, da C# uporablja ogrodje .NET za izvajanje kode. To je zato, ker je izvedba .NET v sistemu Windows optimizirana za zmogljivost, medtem ko ima mono, izvedba .NET na Linuxu, na tem področju še nekaj za ujeti.
ZaključekTa članek je prikazal korake za pošiljanje več SMS-jev v eni zahtevi iz C#. S tem znanjem in na voljo stoječimi orodji bi morali biti sposobni obvestiti več strank z eno samo kodo. Ozeki SMS Gateway ima pomembno vlogo v tem procesu, saj ta program organizira dostavo sporočil. Ozeki SMS Gateway deluje z visoko kakovostjo in zmogljivostjo, kar vam omogoča pošiljanje do 1000 SMS-jev na sekundo.
Nadaljujte svoje učenje na Ozekijevih učnih straneh, kjer lahko preberete o temah, kot sta načrtovanje SMS-jev in brisanje v C#.
Sedaj vam preostane le še, da prenesete Ozeki SMS Gateway in začnete delati!
More information