Jak odbierać SMS w C#
Najprostszym sposobem wysyłania SMS z C# jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Kiedy używasz tego API, będziesz wysyłać wiadomości SMS poprzez wysłanie żądania HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać wiadomość sformatowaną w formacie json. Bramka SMS wyśle tę wiadomość SMS na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na twoje żądanie.
Kod C# do odbierania SMS z telefonu
Poniższy przykład kodu C# do SMS demonstruje, jak możesz odbierać SMS przy użyciu http rest sms api Ozeki SMS Gateway z biblioteką C# Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym z twoich projektów.
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 + " wiadomości pobrane z skrzynki odbiorczej."); foreach(Message msg in messages) { Console.WriteLine(msg); }; Console.ReadKey(); } } }
Jak używać przykładu C# do SMS:
Ten przykład C# do SMS może być używany w dowolnej aplikacji .NET lub .NET core. Aby go użyć, musisz dodać bibliotekę Ozeki.Libs.Rest jako referencję do swojego projektu. Po dodaniu referencji do projektu, musisz umieścić dyrektywę using Ozeki.Libs.Rest; w sekcji nagłówka twojego kodu źródłowego C#. To pozwoli ci używać klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy MessageApi, aby odebrać SMS z bramki SMS. Bramka SMS przekaże wiadomość do ciebie albo przez połączenie bezprzewodowe, albo przez Internet.
Pobierz ReceiveSms.cs
Kod źródłowy wyjaśniony w tym artykule może być pobrany, używany i modyfikowany bezpłatnie.
Pobierz: ReceiveSms.cs.zip (33.8Kb)
Co znajduje się w pliku ReceiveSms.cs.zip?
Plik ReceiveSms.cs.zip zawiera bibliotekę Ozeki.Libs.Rest, która daje ci wszystkie narzędzia niezbędne do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również projekt ReceiveSms w zipie, który zawiera przykładowy kod pokazujący, jak odebrać SMS. Ten przykładowy kod jest wymieniony poniżej.
Jak odbierać SMS w C# (Proste wskazówki)
Aby odbierać SMS w C#:
- Skonfiguruj Visual Studio Community
- Pobierz plik ReceiveSms.cs.zip
- Wypakuj plik .zip z folderu Pobrane
- Otwórz plik ReceiveSms.sln w Visual Studio
- Uruchom Ozeki SMS Gateway
- Kliknij na użytkownika HTTP w zakładce Użytkownicy i aplikacje
- Uruchom Program.cs, aby odbierać SMS w C#
- Sprawdź skrzynkę odbiorczą w Ozeki SMS Gateway
Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API
Aby móc wysyłać i odbierać SMS z C#, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod C# w Visual Studio. Po instalacji następnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testową wiadomość SMS z interfejsu Ozeki, aby sprawdzić, czy twoje połączenie z siecią komórkową działa. Ostatnim krokiem przygotowania środowiska jest utworzenie użytkownika HTTP sms api. Utwórz użytkownika z nazwą "http_user" i hasłem "qwe123", aby przykład działał bez modyfikacji.
Po skonfigurowaniu środowiska możesz uruchomić swój kod C#.
URL API HTTP do odbierania SMS z C#
Aby wysyłać SMS z C#, twój kod C# będzie musiał wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Zauważ, że adres IP (127.0.0.1) powinien zostać zastąpiony adresem IP twojej bramki SMS. Jeśli Ozeki SMS Gateway jest zainstalowana na tym samym komputerze, na którym działa aplikacja C# do SMS, może to być 127.0.0.1. Jeśli jest zainstalowana na innym komputerze, powinien to być adres IP tego komputera.
http://127.0.0.1:9509/api?action=rest
Uwierzytelnianie HTTP do odbierania SMS z C#
Aby uwierzytelnić klienta SMS w C#, musisz wysłać nazwę użytkownika i hasło w zakodowanym ciągu base64 do serwera w żądaniu HTTP. Używany format to: base64(nazwa_użytkownika+":"+hasło). W C# możesz użyć następującego kodu do wykonania tego kodowania:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
Na przykład, jeśli zakodujesz nazwę użytkownika 'http_user' i hasło 'qwe123', otrzymasz następujący zakodowany ciąg base64: aHR0cF91c2VyOnF3ZTEyMw==. Aby wysłać
Żądanie HTTP do odbierania SMS-ów w C#
Aby odebrać SMS, Twoja aplikacja w C# wyśle żądanie HTTP podobne do poniższego. Pamiętaj, że to żądanie zawiera część nagłówka HTTP i część ciała HTTP. Ciało HTTP to ciąg danych zakodowany w formacie JSON. Zawiera numer odbiorcy i treść wiadomości.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Connection: Keep-Alive Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509
Nagłówek żądania HTTP do odbierania SMS-ów w C#
Aby wysłać wiadomości SMS, musisz uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Pamiętaj, że uwzględniamy typ zawartości i nagłówek autoryzacji.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Odpowiedź HTTP otrzymana przez przykład SMS w C#
Gdy brama SMS odbierze to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, wskazujący, czy żądanie wysłania SMS zakończyło się sukcesem czy nie. Zwróci również strukturę zakodowaną w JSON, aby dostarczyć przydatne informacje o przesłaniu wiadomości.
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 odebrać SMS w C# przy użyciu API SMS w C# (Samouczek wideo)
Ten film pokazuje, jak utworzyć nowy projekt konsolowy .Net Core w Visual Studio, jak nazwać go ReceiveSms.sln. Po utworzeniu rozwiązania możesz zauważyć, że do rozwiązania dodano Receive-SMS.csproj, a domyślnie otwarty jest plik Program.cs. Możesz zmienić nazwę Program.cs na ReceiveSMS.cs, jeśli chcesz. Zobaczysz również w filmie, jak poniższy przykładowy kod można skopiować do pliku Program.cs oraz jak go skompilować i uruchomić.
Przykład SMS w C#: ReceiveSms.sln
Jak pobrać i uruchomić przykładowy projekt (Samouczek wideo)
W tym filmie nauczysz się, jak pobrać i uruchomić przykładowy projekt ReceiveSMS.sln. Film rozpocznie się od strony pobierania i zakończy na otwartym edytorze kodu. Dowiesz się, jak pobrać i gdzie znaleźć swój przykładowy projekt. Ponadto pokażemy Ci, jak otworzyć pobrany projekt. Ten film trwa tylko 1 minutę, ale jest bardzo szczegółowy, więc nie będziesz miał problemów z wykonaniem kroków.
Poniższy przykładowy kod jest częścią rozwiązania Visual Studio ReceiveSms.sln. Rozwiązanie Visual Studio może zawierać wiele projektów i wiele plików. W tym rozwiązaniu jest tylko jeden projekt: ReceiveSms.csproj i jeden plik: Program.cs.
Jak użyć kodu (Samouczek wideo)
W kolejnym filmie nauczysz się, jak uruchomić przykładowy kod i jak sprawdzić log procesu. Rozpocznie się od uruchomienia bramki SMS Ozeki i przeprowadzi Cię aż do zakładki zdarzeń. Dowiesz się, jak sprawdzić log, jak uruchomić kod i jak sprawdzić odebrane wiadomości. Film trwa tylko 1 minutę, ale zawiera wszystkie niezbędne informacje potrzebne do korzystania z projektu ReceiveSMS.sln.
Uruchamianie przykładu SMS w C# na Windows
Kiedy używasz systemu Windows do uruchomienia tego przykładu SMS napisanego w C#, zauważysz, że osiągasz nieco lepszą wydajność niż podczas uruchamiania go na Linuxie. Aby zrozumieć, dlaczego tak się dzieje, należy wziąć pod uwagę, że C# wykorzystuje framework .NET do wykonywania kodu. Dzieje się tak, ponieważ implementacja .NET na Windowsie jest zoptymalizowana pod kątem wydajności, podczas gdy mono, czyli implementacja .NET na Linuxie, nadrabia zaległości w tej dziedzinie.
Podsumowanie
Ten artykuł pokazał niezbędne kroki odbierania SMS-ów w C#. Dzięki temu przewodnikowi i Ozeki SMS Gateway, odbieranie SMS-ów w C# nie będzie już problemem. Dokładnie przestudiuj przewodnik, a będziesz w stanie łatwo wykonać te kroki. Ozeki SMS Gateway odgrywa kluczową rolę w tej procedurze, służąc jako łącznik między użytkownikami mobilnymi a Tobą. Fakt, że Ozeki SMS Gateway działa w środowisku, które kontrolujesz, należy podkreślić, ponieważ oznacza to, że Twoja lista kontaktów i dane są bezpieczne.
Kontynuuj czytanie na stronie tutorialowej Ozeki, gdzie znajdziesz więcej przewodników na tematy takie jak planowanie w C#.
Pobierz Ozeki SMS Gateway już teraz i zacznij pracę!
More information