Jak odeslat více SMS z C/C++
Nejjednodušší způsob, jak odeslat SMS z C/C++, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Když použijete toto API, budete odesílat SMS zprávy vytvořením 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 na cílový telefon a vrátí HTTP 200 OK odpověď na váš požadavek.
C/C++ kód pro odeslání více SMS na mobil
Ukázkový kód v C/C++ níže ukazuje, jak můžete odeslat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny Ozeki.Libs.Rest pro C/C++. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.
SendMultipleSms.cpp#include <iostream> #include <string> #include "Ozeki.Libs.Rest.h" using namespace std; int main() { //Funkce pro vytvoření unikátního identifikátoru pro každou zprávu 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 použít příklad C/C++ pro SMS:
Tento příklad C++ pro SMS lze použít v jakékoli aplikaci v C/C++. 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 vložit direktivu using Ozeki.Libs.Rest; do hlavičkové části vašeho zdrojového kódu v C/C++. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Třídu Message můžete použít k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď přes bezdrátové připojení nebo přes internet.
Stáhnout SendSms.cpp
Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendMultipleSms.cpp.zip (2.97Mb)
Co obsahuje soubor SendMultipleSms.cpp?
Soubor SendMultipleSms.cpp 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. Najdete zde také projekt SendMultipleSms v zipu, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.
Jak odeslat více SMS z C/C++ (Rychlé kroky)
Pro odeslání více SMS z C/C++:
- Nastavte Visual Studio Community
- Stáhněte soubor SendMultipleSms.cpp.zip
- Rozbalte .zip soubor ze složky Stažené
- Otevřete soubor sendsms.sln v Visual Studiu
- Spusťte Ozeki SMS Gateway
- Vytvořte HTTP API uživatele v Ozeki
- Spusťte kód SendMultipleSms.cpp v C/C++ v Visual Studiu pro odeslání testovací SMS
- Zkontrolujte složku Odeslané v Ozeki SMS Gateway
Instalace Ozeki SMS Gateway a vytvoření HTTP API uživatele
Pro odesílání SMS z C/C++ je nejprve nutné nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj kód v C/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 grafického rozhraní Ozeki pro ověření, ž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živatele. 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/C++.
HTTP API URL pro odesílání SMS z C/C++
Pro odesílání SMS z C/C++ bude vaše aplikace v C/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/C++, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by být použita IP adresa tohoto počítače.
http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro odesílání SMS z C/C++
Pro autentizaci klienta v C/C++ je nutné odeslat uživatelské jméno a heslo v řetězci zakódovaném v base64 na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V C# můžete použít následující kód pro toto kódování:
string usernamePassword = username + ":" + password; string usernamePasswordEncoded = base64::encode(usernamePassword); return "Basic " + usernamePasswordEncoded;
Například, pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující řetězec zakódovaný v base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
HTTP hlavička požadavku pro odeslání SMS z C/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 typ obsahu a autorizační hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požadavek pro odeslání SMS z C/C++
Pro odeslání SMS bude vaše aplikace v C/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.
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" } ] }
HTTP odpověď přijatá příkladem SMS v C/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. Vrátí také strukturu zakódovanou v JSON, která vám poskytne užitečné detaily o odeslání zprávy.
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" } ] } }
Příklad SMS v C/C++: SendMultipleSms.sln
V tomto videu vám ukážeme, jak můžete odeslat více SMS zpráv pomocí ukázkového projektu, který jsme poskytli na stránce s návodem. Video začne stažením ukázkového projektu a skončí spuštěním kódu. Video je krátké, ale velmi snadno pochopitelné. Nebudete mít problém sledovat návod. Pokud jste obeznámeni s C/C++, můžete upravit proměnné v kódu a odeslat přizpůsobenou zprávu na přizpůsobené adresy.
Níže uvedený ukázkový kód je součástí řešení Visual Studio SendMultipleSms.sln. Řešení Visual Studio může obsahovat více projektů a více souborů. V tomto řešení je pouze jeden projekt: SendMultipleSms.vcxproj a jeden soubor: SendMultipleSms.cs.
V následujícím videu se naučíte, jak spustit kód a jak zkontrolovat výsledky. Nejprve vám video ukáže, jak spustit kód. Poté uvidíte, jak zkontrolovat složku Sent HTTP uživatele. Na konci videa uvidíte detaily odeslané zprávy. Video je dlouhé pouze 46 sekund a obsahuje všechny důležité kroky a informace, které potřebujete k dokončení procesu.
Závěrečné myšlenky
Tento průvodce obsahuje všechny základní informace o tom, jak odeslat více SMS zpráv z C/C++ pomocí HTTP REST SMS API Ozeki SMS Gateway. Zjištěte, že použití tohoto řešení je velmi výhodné, protože C/C++ SMS API funguje s Android SMS Gateway kromě online SMS služeb, které vám umožňují odesílat SMS bezdrátově. Tato služba vám umožňuje doručit cenné informace na více mobilních telefonů najednou, čímž je vaše zasílání zpráv dynamičtější.
Pokračujte a zjistěte více! Na webu Ozeki najdete mnoho dalších podobných dokumentů. Můžete použít C/C++ SMS API s dalšími funkcemi, podívejte se na Jak naplánovat SMS v C/C++.
Uveďte do praxe, co jste se naučili, nejprve si stáhněte Ozeki SMS Gateway!
More information
- C/Cpp odeslání SMS pomocí HTTP REST API (ukázka kódu)
- C/Cpp odeslání více SMS pomocí HTTP REST API (ukázka kódu)
- C/Cpp naplánování SMS pomocí HTTP REST API (ukázka kódu)
- C/Cpp přijetí SMS pomocí HTTP REST API (ukázka kódu)
- C/Cpp smazání SMS pomocí HTTP REST API (ukázka kódu)
- Jak stáhnout nejnovější knihovnu C/Cpp SMS API z Githubu