Jak odbierać SMS w C/C++
Najprostszym sposobem wysyłania SMS z C/C++ jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Korzystając z 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/C++ do odbierania SMS z telefonu
Poniższy przykładowy kod C/C++ do obsługi SMS demonstruje, jak można odbierać SMS za pomocą interfejsu HTTP REST SMS API Ozeki SMS Gateway, korzystając z biblioteki C++ Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym z twoich projektów.
ReceiveSms.cpp#include <iostream> #include <string> #include "Ozeki.Libs.Rest.h" using namespace std; int main() { //Funkcja do tworzenia unikalnego identyfikatora dla każdej wiadomości srand((unsigned)time(0)); Configuration configuration; configuration.Username = "http_user"; configuration.Password = "qwe123"; configuration.ApiUrl = "http://127.0.0.1:9509/api"; MessageApi api(configuration); auto result = api.DownloadIncoming(); cout << result << endl; for (Message message : result.Messages) { cout << message << endl; } return 0; }
Jak używać przykładu SMS w C++:
Ten przykład SMS w C++ może być używany w dowolnej aplikacji C lub C++. 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łówkowej swojego kodu źródłowego C/C++. To pozwoli ci korzystać z klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy MessageApi do odbioru SMS z bramki SMS. Bramka SMS przekaże wiadomość do ciebie albo przez połączenie bezprzewodowe, albo przez Internet.
Pobierz Receive-SMS.cs
Kod źródłowy omówiony w tym artykule można pobrać, używać i modyfikować bezpłatnie.
Pobierz: ReceiveSms.cpp.zip (2.97Mb)
Co znajduje się w pliku ReceiveSms.cpp.zip?
Plik ReceiveSms.cpp.zip zawiera bibliotekę Ozeki.Libs.Rest, która dostarcza ci wszystkie narzędzia niezbędne do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również projekt ReceiveSms, który zawiera przykładowy kod pokazujący, jak odbierać SMS. Ten przykładowy kod jest wymieniony poniżej.
Jak odbierać SMS w C/C++ (Proste wskazówki)
Aby odbierać SMS w C/C++:
- Skonfiguruj Visual Studio Community
- Pobierz plik ReceiveSms.cpp.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 ReceiveSms.cpp, aby odbierać SMS w C/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/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/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/C++.
URL API HTTP do odbierania SMS z C/C++
Aby odbierać SMS za pomocą C/C++, twoja aplikacja C/C++ będzie musiała 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/C++ do obsługi 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/C++
Aby uwierzytelnić klienta SMS w C/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:
string usernamePassword = username + ":" + password; string usernamePasswordEncoded = base64::encode(usernamePassword); return "Basic " + usernamePasswordEncoded;
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 C/C++
Aby odebrać SMS, Twoja aplikacja w C/C++ wyśle żądanie HTTP podobne do poniższego. Zauważ, ż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 tekst wiadomości.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509
Nagłówek żądania HTTP do odbierania SMS w C/C++
Aby wysłać wiadomości SMS, musisz uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Zauważ, że zawieramy typ zawartości i nagłówek autoryzacji.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Odpowiedź HTTP otrzymana przez przykład SMS w C/C++
Gdy brama SMS otrzyma 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 formacie JSON, dostarczając przydatnych informacji o przesłaniu wiadomości.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.123 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Tue, 29 Jun 2021 10:59:51 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "5d78e707-13d3-49d3-9b7d-66ba0c24b21e", "from_connection": "admin@localhost", "from_address": "", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 3", "create_date": "2021-06-29 11:07:33", "valid_until": "2021-07-06 11:07:33", "time_to_send": "2021-06-29 11:07:33", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [] }, { "message_id": "695acc97-43b6-4cf1-a6ae-c19e3f908c8f", "from_connection": "admin@localhost", "from_address": "", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 2", "create_date": "2021-06-29 11:07:23", "valid_until": "2021-07-06 11:07:23", "time_to_send": "2021-06-29 11:07:23", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [] }, { "message_id": "333f852e-2f8f-464d-9663-831e857819ca", "from_connection": "admin@localhost", "from_address": "", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 1", "create_date": "2021-06-29 11:07:10", "valid_until": "2021-07-06 11:07:10", "time_to_send": "2021-06-29 11:07:10", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [] } ] } }
Pobieranie i otwieranie projektu C/C++ (Samouczek wideo)
W poniższym filmie pokażemy, jak pobrać i otworzyć plik projektu. Film zaczyna się od znalezienia linku do pobrania i kończy na gotowym do użycia projekcie. Ten 1:32 minutowy film jest łatwy do zrozumienia i bardzo szczegółowy. Nie będziesz miał problemu ze zrozumieniem tego samouczka. Używamy środowiska programistycznego Visual Studio do otwarcia projektu.
Poniższy przykładowy kod jest częścią rozwiązania Visual Studio Receive-SMS.sln. Rozwiązanie Visual Studio może zawierać wiele projektów i wiele plików. W tym rozwiązaniu jest tylko jeden projekt: Receive-SMS.csproj i jeden plik: Program.cs.
Korzystanie z projektu (samouczek wideo)
Poniższy film wyjaśnia, jak korzystać z projektu. Zaczyna się od otwarcia bramki SMS Ozeki i prowadzi Cię aż do listy wiadomości w wierszu poleceń. W trakcie zobaczysz, jak kod przenosi wiadomości z folderu odbiorczego do projektu C/C++. Film jest świetny, ponieważ przedstawia wszystkie kroki w szczegółowy sposób i jest łatwy do zrozumienia. Potrzebujesz tylko 34 sekund, aby obejrzeć film, i korzystasz z panelu bramki SMS Ozeki, który jest bardzo intuicyjny. Nie będziesz miał problemu z śledzeniem samouczka.
Podsumowując
Ten przewodnik pokazał Ci, jak odbierać SMS-y w C/C++ przy użyciu interfejsu HTTP SMS API użytkownika Ozeki SMS Gateway. Dzięki temu rozwiązaniu możesz mieć pewność, że przychodzące wiadomości zostaną przekierowane przez SMS API i odebrane przez Twój program w Scali. Twoja lista kontaktów i dane są w bezpiecznych rękach, ponieważ Ozeki SMS Gateway działa w zamkniętym środowisku, które kontrolujesz.
Kontynuuj czytanie na temat takich zagadnień na stronie Ozeki. Sprawdź Jak usunąć SMS w C/C++ i korzystaj z podanych kodów bez ograniczeń.
Zacznij pracę, pobierając Ozeki SMS Gateway już teraz!
More information
- C/Cpp wyślij SMS z HTTP rest API (przykład kodu)
- C/Cpp wyślij wiele SMS z HTTP rest API (przykład kodu)
- C/Cpp zaplanuj SMS z HTTP rest API (przykład kodu)
- C/Cpp odbierz SMS z HTTP rest API (przykład kodu)
- C/Cpp usuń SMS z HTTP rest API (przykład kodu)
- Jak pobrać najnowszą bibliotekę C/Cpp SMS API z Github