Jak wysłać wiele wiadomości SMS z C/C++
Najprostszym sposobem wysyłania SMS-ów z C/C++ jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Korzystając z tego API, wysyłasz 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 wielu wiadomości SMS na telefon
Poniższy przykładowy kod C/C++ do wysyłania SMS-ów demonstruje, jak możesz wysyłać SMS-y za pomocą interfejsu HTTP REST SMS API Ozeki SMS Gateway, korzystając z biblioteki Ozeki.Libs.Rest dla C/C++. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym projekcie.
SendMultipleSms.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 msg1; msg1.ToAddress = "+36201111111"; msg1.Text = "Hello world 1"; Message msg2; msg2.ToAddress = "+36202222222"; msg2.Text = "Hello world 2"; Message msg3; msg3.ToAddress = "+36203333333"; msg3.Text = "Hello world 3"; MessageApi api(configuration); auto result = api.Send({ msg1, msg2, msg3 }); cout << result << endl; return 0; }
Jak używać przykładu kodu C/C++ do wysyłania SMS-ów:
Ten przykład kodu C++ do wysyłania SMS-ów może być używany w dowolnej aplikacji C/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 Message do tworzenia SMS-ów. Możesz użyć klasy MessageApi do wysyłania SMS-ów do bramki SMS. Bramka SMS przekaże Twoją wiadomość do sieci komórkowej poprzez połączenie bezprzewodowe lub przez Internet.
Pobierz SendSms.cpp
Kod źródłowy omówiony w tym artykule można pobrać, używać i modyfikować bezpłatnie.
Pobierz: SendMultipleSms.cpp.zip (2.97Mb)
Co znajduje się w pliku SendMultipleSms.cpp?
Plik SendMultipleSms.cpp 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 SendMultipleSms w archiwum zip, który zawiera przykładowy kod pokazujący, jak wysłać SMS. Ten przykładowy kod jest wymieniony poniżej.
Jak wysłać wiele wiadomości SMS z C/C++ (Szybkie kroki)
Aby wysłać wiele wiadomości SMS z C/C++:
- Skonfiguruj Visual Studio Community
- Pobierz plik SendMultipleSms.cpp.zip
- Wypakuj plik .zip z folderu Pobrane
- Otwórz plik sendsms.sln w Visual Studio
- Uruchom Ozeki SMS Gateway
- Utwórz użytkownika HTTP API w Ozeki
- Uruchom kod C/C++ SendMultipleSms.cpp w Visual Studio, aby wysłać testowe SMS-y
- Sprawdź skrzynkę Wysłane w Ozeki SMS Gateway
Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API
Aby móc wysyłać SMS-y 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ć testowego SMS-a 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-ów z C/C++
Aby wysyłać SMS-y z C/C++, Twoja aplikacja C/C++ będzie musiała wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Pamiętaj, ż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 wysyłania SMS-ów, 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 wysyłania SMS-ów z C/C++
Aby uwierzytelnić klienta SMS w C/C++, musisz wysłać nazwę użytkownika i hasło w formie ciągu zakodowanego w 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 ciąg zakodowany w base64: aHR0cF91c2VyOnF3ZTEyMw==. Aby wysłać
Nagłówek żądania HTTP do wysyłania SMS z C/C++
Aby wysłać wiadomości SMS, należy dołączyć następujące linie jako nagłówki w żądaniu HTTP. Należy zauważyć, że zawieramy typ zawartości i nagłówek Autoryzacji.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Żądanie HTTP do wysyłania SMS z C/C++
Aby przesłać SMS, Twoja aplikacja C/C++ wyśle żądanie HTTP podobne do poniższego. Należy zauważyć, ż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.
POST /api?action=sendmsg HTTP/1.1 Content-Length: 935 Content-Type: application/json Accept: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 { "messages": [ { "create_date": "2021-06-29T08:40:11", "message_id": "rde8491s-5wpt-am95-bxsh-vu1a8kns10et", "submit_delivery_requested": true, "submit_report_requested": true, "submit_view_requested": true, "text": "Hello world 1", "time_to_send": "2021-06-29T08:40:11", "to_address": "+36201111111", "valid_until": "2021-07-06T08:40:11" }, { "create_date": "2021-06-29T08:40:11", "message_id": "qxhm3cuw-kwqb-mldi-b0xb-vn8sfway1hs2", "submit_delivery_requested": true, "submit_report_requested": true, "submit_view_requested": true, "text": "Hello world 2", "time_to_send": "2021-06-29T08:40:11", "to_address": "+36202222222", "valid_until": "2021-07-06T08:40:11" }, { "create_date": "2021-06-29T08:40:11", "message_id": "hnvcmp4j-a303-4432-psok-txujv54w8wrg", "submit_delivery_requested": true, "submit_report_requested": true, "submit_view_requested": true, "text": "Hello world 3", "time_to_send": "2021-06-29T08:40:11", "to_address": "+36203333333", "valid_until": "2021-07-06T08:40:11" } ] }
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, aby wskazać, czy żądanie wysłania SMS zakończyło się sukcesem, czy nie. Zwróci również strukturę zakodowaną w formacie JSON, aby dostarczyć przydatne informacje dotyczące przesłania 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 08:36:20 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "rde8491s-5wpt-am95-bxsh-vu1a8kns10et", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "create_date": "2021-06-29 08:40:11", "valid_until": "2021-07-06 08:40:11", "time_to_send": "2021-06-29 08:40:11", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "qxhm3cuw-kwqb-mldi-b0xb-vn8sfway1hs2", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "create_date": "2021-06-29 08:40:11", "valid_until": "2021-07-06 08:40:11", "time_to_send": "2021-06-29 08:40:11", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "hnvcmp4j-a303-4432-psok-txujv54w8wrg", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "create_date": "2021-06-29 08:40:11", "valid_until": "2021-07-06 08:40:11", "time_to_send": "2021-06-29 08:40:11", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Przykład SMS w C/C++: SendMultipleSms.sln
W tym filmie pokażemy, jak możesz wysłać wiele wiadomości SMS, korzystając z przykładowego projektu, który udostępniliśmy na stronie tutoriala. Film rozpocznie się od pobrania przykładowego projektu i zakończy się uruchomieniem kodu. Film jest krótki, ale bardzo łatwy do śledzenia. Nie będziesz miał problemu z wykonaniem tutoriala. Jeśli jesteś zaznajomiony z C/C++, możesz zmodyfikować zmienne w kodzie, aby wysłać spersonalizowaną wiadomość na wybrane adresy.
Poniższy przykładowy kod jest częścią rozwiązania Visual Studio SendMultipleSms.sln. Rozwiązanie Visual Studio może zawierać wiele projektów i wiele plików. W tym rozwiązaniu jest tylko jeden projekt: SendMultipleSms.vcxproj i jeden plik: SendMultipleSms.cs.
W poniższym filmie dowiesz się, jak uruchomić kod i jak sprawdzić wyniki. Najpierw film pokaże Ci, jak uruchomić kod. Następnie zobaczysz, jak sprawdzić folder Sent użytkownika HTTP. Na końcu filmu zobaczysz szczegóły wysłanej wiadomości. Film trwa tylko 46 sekund i zawiera wszystkie ważne kroki oraz informacje potrzebne do ukończenia procesu.
Podsumowanie
Ten przewodnik zawiera wszystkie podstawowe informacje na temat wysyłania wielu wiadomości SMS z C/C++ za pomocą HTTP REST SMS API Ozeki SMS Gateway. Korzystanie z tego rozwiązania będzie bardzo korzystne, ponieważ C/C++ SMS API współpracuje z Android SMS Gateway oraz z dostawcami usług SMS online, którzy umożliwiają wysyłanie SMS bezprzewodowo. Ta usługa pozwala dostarczać cenne informacje na więcej niż jeden telefon komórkowy jednocześnie, dzięki czemu Twoje wiadomości stają się bardziej dynamiczne.
Śmiało, dowiedz się więcej już teraz! Na stronie Ozeki znajdziesz wiele podobnych dokumentów. Możesz używać C/C++ SMS API z innymi funkcjonalnościami, sprawdź Jak zaplanować SMS w C/C++.
Wprowadź w życie to, czego się nauczyłeś – najpierw pobierz Ozeki SMS Gateway!
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