Jak přijímat SMS v C#
Nejjednodušší způsob, jak odesílat SMS z C#, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy pomocí HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu ve formátu JSON. SMS brána odešle tuto SMS příjemci a vrátí HTTP 200 OK odpověď na váš požadavek.
C# kód pro přijímání SMS z mobilu
Ukázka kódu v C# níže ukazuje, jak můžete přijímat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny Ozeki.Libs.Rest v C#. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.
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 + " zpráv staženo z doručené pošty."); foreach(Message msg in messages) { Console.WriteLine(msg); }; Console.ReadKey(); } } }
Jak použít příklad SMS v C#:
Tento příklad SMS v C# lze použít v jakékoli aplikaci .NET nebo .NET core. Pro použití je nutné přidat knihovnu Ozeki.Libs.Rest jako referenci do vašeho projektu. Po přidání reference do projektu musíte do hlavičky vašeho zdrojového kódu v C# vložit direktivu using Ozeki.Libs.Rest;. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Třídu MessageApi můžete použít k přijímání SMS z SMS brány. SMS brána vám zprávu přepošle buď prostřednictvím bezdrátového připojení, nebo přes internet.
Stáhnout ReceiveSms.cs
Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: ReceiveSms.cs.zip (33.8Kb)
Co obsahuje soubor ReceiveSms.cs.zip?
Soubor ReceiveSms.cs.zip obsahuje knihovnu Ozeki.Libs.Rest, která vám poskytuje všechny nástroje potřebné pro odesílání a přijímání SMS zpráv. V zipu také najdete projekt ReceiveSms, který obsahuje ukázkový kód, který vám ukáže, jak přijmout SMS. Tento ukázkový kód je uveden níže.
Jak přijímat SMS v C# (Jednoduchý návod)
Pro přijímání SMS v C#:
- Nastavte Visual Studio Community
- Stáhněte soubor ReceiveSms.cs.zip
- Extrahujte .zip soubor ze složky Stažené
- Otevřete soubor ReceiveSms.sln v Visual Studiu
- Spusťte Ozeki SMS Gateway
- Klikněte na HTTP uživatele v záložce Uživatelé a aplikace
- Spusťte Program.cs pro přijímání SMS v C#
- Zkontrolujte doručenou poštu v Ozeki SMS Gateway
Instalace Ozeki SMS Gateway a vytvoření HTTP API uživatele
Abyste mohli odesílat a přijímat SMS z C#, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj kód v C# ve Visual Studiu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z Ozeki GUI a ověřit, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření HTTP SMS API uživatelského účtu. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.
Po nastavení prostředí můžete spustit svůj kód v C#.
HTTP API URL pro přijímání SMS z C#
Pro odesílání SMS z C# bude váš kód v C# muset odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Poznámka: IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží vaše aplikace v C#, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by to být IP adresa tohoto počítače.
http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro přijímání SMS z C#
Pro autentizaci SMS klienta v C# je nutné odeslat uživatelské jméno a heslo jako base64 kódovaný řetězec na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V C# můžete pro toto kódování použít následující kód:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
Například, pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', dostanete následující base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
HTTP požadavek pro příjem SMS v C#
Pro příjem SMS bude vaše aplikace v C# odesílat HTTP požadavek podobný tomu níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprávy.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Connection: Keep-Alive Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509
HTTP hlavička požadavku pro příjem SMS z C#
Pro odeslání SMS zpráv je třeba do HTTP požadavku zahrnout následující řádky jako hlavičky. Všimněte si, že zahrnujeme hlavičku typu obsahu a autorizační hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP odpověď přijatá v příkladu SMS v C#
Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Také vrátí strukturu zakódovanou v JSON, která vám poskytne užitečné podrobnosti o odeslání zprá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" } ] } ] } }
Jak přijímat SMS v C# pomocí C# SMS API (Video návod)
Toto video vám ukáže, jak vytvořit nový projekt konzolové aplikace .Net core v Visual Studiu, jak jej pojmenovat na ReceiveSms.sln. Jakmile je řešení vytvořeno, můžete si všimnout, že do řešení je přidán soubor Receive-SMS.csproj a ve výchozím nastavení je otevřen soubor Program.cs. Soubor Program.cs můžete přejmenovat na ReceiveSMS.cs, pokud si přejete. Ve videu uvidíte také, jak lze níže uvedený příklad kódu zkopírovat do souboru Program.cs a jak jej lze zkompilovat a spustit.
Příklad SMS v C#: ReceiveSms.sln
Jak stáhnout a spustit příklad projektu (Video návod)
V tomto videu se naučíte, jak stáhnout a spustit příklad projektu ReceiveSMS.sln. Video začíná na stránce ke stažení a končí otevřeným editorem kódu. Naučíte se, jak stáhnout a kde najít svůj příklad projektu. Také vám ukážeme, jak otevřít stažený projekt. Toto video je dlouhé pouze 1 minutu, ale je velmi podrobné, takže nebudete mít problém s následováním kroků.
Níže uvedený příklad kódu je součástí řešení Visual Studio ReceiveSms.sln. Řešení Visual Studio může obsahovat více projektů a více souborů. V tomto řešení je pouze jeden projekt: ReceiveSms.csproj a jeden soubor: Program.cs.
Jak použít kód (Video návod)
V dalším videu se naučíte, jak spustit příklad kódu a jak zkontrolovat log procesu. Začne spuštěním Ozeki SMS brány a provede vás až k záložce událostí. Naučíte se, jak zkontrolovat log, jak spustit svůj kód a jak zkontrolovat přijaté zprávy. Video je dlouhé pouze 1 minutu, ale obsahuje všechny potřebné informace, které potřebujete k použití projektu ReceiveSMS.sln.
Spuštění příkladu SMS v C# na Windows
Když použijete Windows pro spuštění tohoto příkladu SMS napsaného v C#, všimnete si, že získáte o něco lepší výkon než při spuštění na Linuxu. Abyste pochopili, proč k tomu dochází, musíte mít na paměti, že C# využívá pro spuštění kódu framework .NET. Důvodem je, že implementace .NET na Windows je optimalizována pro výkon, zatímco mono, implementace .NET na Linuxu, má v této oblasti ještě co dohánět.
Závěr
Tento článek ukázal nezbytné kroky pro příjem SMS v C#. S tímto průvodcem a Ozeki SMS Gateway již příjem SMS v C# nemusí být problém. Pečlivě si průvodce prostudujte a tyto kroky snadno zvládnete. Ozeki SMS Gateway je v tomto procesu klíčový, slouží jako spojnice mezi mobilními uživateli a vámi. Skutečnost, že Ozeki SMS Gateway běží v prostředí, které kontrolujete, je třeba zdůraznit, protože to znamená, že váš seznam kontaktů a data jsou v bezpečí.
Pokračujte ve čtení na stránce tutoriálů Ozeki, kde najdete další průvodce k tématům, jako je plánování z C#.
Stáhněte si Ozeki SMS Gateway nyní a můžete začít!
More information