Jak wysłać SMS z C/C++
Najprostszym sposobem wysł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 wysyłania SMS na telefon
Poniższy przykładowy kod C/C++ do wysyłania SMS demonstruje, jak możesz wysłać SMS, używając interfejsu HTTP REST SMS API Ozeki SMS Gateway z biblioteką Ozeki.Libs.Rest dla C/C++. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym z twoich projektów.
SendSms.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"; Message msg; msg.ToAddress = "+36201111111"; msg.Text = "Hello world!"; MessageApi api(configuration); auto result = api.Send(msg); cout << result << endl; return 0; }
Jak używać przykładu kodu C/C++ do wysyłania SMS:
Ten przykład kodu C/C++ do wysyłania SMS może być użyty 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 twojego kodu źródłowego C/C++. To pozwoli ci na korzystanie z klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy Message do stworzenia SMS. Możesz użyć klasy MessageApi do wysłania SMS do bramki SMS. Bramka SMS przekaże twoją wiadomość do sieci komórkowej albo przez połączenie bezprzewodowe, albo przez Internet.
Pobierz SendSms.cpp
Kod źródłowy omówiony w tym artykule może być pobrany, użyty i zmodyfikowany bezpłatnie.
Pobierz: SendSms.cpp.zip (2.97Mb)
Co znajduje się w pliku SendSms.cpp.zip?
Plik SendSms.cpp.zip zawiera bibliotekę Ozeki.Libs.Rest, która dostarcza wszystkich narzędzi niezbędnych do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również projekt SendSms, który zawiera przykładowy kod pokazujący, jak wysłać SMS. Ten przykładowy kod jest wymieniony poniżej.
Jak wysłać SMS z C/C++ (Proste wskazówki)
Aby wysłać SMS z C/C++:
- Zainstaluj użytkownika HTTP API
- Włącz Logowanie zdarzeń komunikacyjnych na karcie Zaawansowane
- Skonfiguruj Visual Studio
- Pobierz, a następnie rozpakuj plik SendSms.cpp.zip
- Otwórz plik sendsms.sln w Visual Studio
- Uruchom aplikację Ozeki SMS Gateway
- Uruchom kod C++ SendSMS.cpp w Visual Studio
- Sprawdź logi, aby zobaczyć, czy SMS został wysłany
Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API
Aby móc wysyłać 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, kolejnym 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 wysyłania SMS z C/C++
Aby wysłać SMS z C/C++, twój kod C/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 zainstalowany na tym samym komputerze, na którym działa aplikacja C/C++ do wysyłania SMS, może to być 127.0.0.1. Jeśli jest zainstalowany na innym komputerze, powinien to być adres IP tego komputera.
http://127.0.0.1:9509/api?action=rest
Uwierzytelnianie HTTP do wysyłania 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/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ć
Nagłówek żądania HTTP do wysyłania SMS z C/C++
Aby wysłać wiadomości SMS, musisz dołączyć następujące linie jako nagłówki w żądaniu HTTP. Zauważ, że dołączamy typ zawartości i nagłówek Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Żądanie HTTP do wysłania SMS-a z C/C++
Aby przesłać SMS, Twoja aplikacja 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 JSON. Zawiera numer odbiorcy i tekst wiadomości.
POST /api?action=sendmsg HTTP/1.1 Content-Length: 320 Content-Type: application/json Accept: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 { "messages": [ { "create_date": "2021-06-29T07:55:54", "message_id": "hbfc030d-68b7-a1i0-6e96-6jgkqml6rnt9", "submit_delivery_requested": true, "submit_report_requested": true, "submit_view_requested": true, "text": "Hello world!", "time_to_send": "2021-06-29T07:55:54", "to_address": "+36201111111", "valid_until": "2021-07-06T07:55:54" } ] }
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-a zakończyło się sukcesem. 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.123 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Mon, 28 Jun 2021 16:58:02 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "hbfc030d-68b7-a1i0-6e96-6jgkqml6rnt9", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-06-29 07:55:54", "valid_until": "2021-07-06 07:55:54", "time_to_send": "2021-06-29 07:55:54", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Podłącz swoją bramkę SMS do sieci komórkowej i utwórz konto użytkownika HTTP API (Samouczek wideo)
Zakładamy, że masz już zainstalowaną bramkę SMS Ozeki i podłączoną do sieci komórkowej. Aby móc wysyłać SMS-y na telefon komórkowy z C#, musisz skonfigurować konto użytkownika HTTP API w bramce SMS Ozeki. W tym filmie pokażemy, jak to zrobić. Film rozpocznie się od dodania nowego użytkownika i zakończy działającym interfejsem HTTP API. Dodatkowo dowiesz się, jak zmienić poziom logowania API. Ten 30-sekundowy film jest łatwy do śledzenia i szczegółowy, a korzystamy z bramki SMS Ozeki, która oferuje intuicyjny interfejs użytkownika. Nie będziesz miał problemów z wykonaniem samouczka.
Jak wysłać SMS z C/C++ przy użyciu API SMS w C/C++ (Samouczek wideo)
Ten film pokazuje, jak pobrać plik SendSms.cpp.zip z tej strony i jak pobrać jego zawartość w Visual Studio. Jeśli obejrzysz film, zauważysz, że zawartość archiwum SendSms.cpp jest umieszczana na pulpicie Windows. Zobaczysz również, że dwukrotnie klikamy na plik sendsms.sln, aby otworzyć rozwiązanie. Visual Studio wyświetli pewne ostrzeżenia, ponieważ plik pochodzi z internetu. Po prostu kliknij OK, aby uniknąć tych ostrzeżeń.
Przykład SMS w C/C++: SendSms.sln
Poniższy przykładowy kod jest częścią rozwiązania Visual Studio SendSms.sln. Rozwiązanie Visual Studio może zawierać wiele projektów i wiele plików. W tym rozwiązaniu jest tylko jeden projekt: SendSms.vcxproj i jeden plik: SendSms.cpp.
Jak sprawdzić, czy SMS został zaakceptowany przez użytkownika HTTP
Po przesłaniu SMS-a warto sprawdzić w bramce SMS, co zostało odebrane. Możesz sprawdzić log, otwierając szczegóły użytkownika HTTP z konsoli zarządzania bramką SMS Ozeki. Poniższy film pokazuje, na co zwrócić uwagę. Film rozpocznie się od otwartej bramki SMS Ozeki i zakończy menu Zdarzenia. Dowiesz się, gdzie kliknąć i gdzie szukać logu użytkownika HTTP. 34-sekundowy film jest szczegółowy, ale bardzo łatwy do zrozumienia. Nie zgubisz się w interfejsie użytkownika, ponieważ bramka SMS Ozeki oferuje bardzo intuicyjny.
Jak sprawdzić, czy SMS został wysłany do sieci komórkowej
Ostatnim krokiem weryfikacji procedury jest sprawdzenie logów połączenia z siecią komórkową. Może być konieczne włączenie logowania w konfiguracji połączenia przed wysłaniem wiadomości, aby zobaczyć logi. Jeśli logowanie jest włączone, zobaczysz numer telefonu i treść wysłanej wiadomości.
Odbieranie SMS-a na Androidzie
W tym filmie zobaczysz proces odbierania wiadomości SMS na Androidzie. 18-sekundowe wideo rozpoczyna się od zwykłej strony głównej Androida i pokazuje powiadomienie o przychodzącej wiadomości. Dowiesz się również, jak otworzyć aplikację Wiadomości, gdzie możesz uzyskać więcej informacji o wiadomości i na nią odpowiedzieć. Proces jest łatwy do zrozumienia, a wideo pokazuje go w całości.
Podsumowanie
Ten artykuł został napisany, aby nauczyć Cię, jak wysyłać SMS-y z C/C++ przy użyciu użytkownika HTTP API Ozeki SMS Gateway. Połączenie użytkownika HTTP w Ozeki SMS Gateway oferuje bardzo niezawodne połączenie i niesamowitą szybkość, aby pomóc Twojej firmie działać płynnie. To rozwiązanie może zwiększyć efektywność Twojej organizacji, ponieważ pozwala na szybkie i łatwe wysyłanie ważnych wiadomości SMS za pośrednictwem Twojej aplikacji w C/C++.
Istnieje wiele więcej artykułów, które mogą Ci pomóc, więc upewnij się, że czytasz dalej. Przejdź do samouczka Jak wysłać wiele SMS-ów z C/C++ i dowiedz się więcej.
Zacznij używać Ozeki SMS Gateway już teraz! Pobierz go ze strony Ozeki.
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