Ako prijímať SMS v C/C++

Najjednoduchší spôsob, ako odosielať SMS z C/C++, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete odosielať SMS správy vydaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána odošle túto SMS príjemcovi a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako prijímať sms v ccpp
Obrázok 1 - Ako prijímať SMS v C/C++

C/C++ kód na prijímanie SMS z mobilného zariadenia

Ukážka kódu v C/C++ nižšie demonštruje, ako môžete prijímať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway pomocou knižnice C++ Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.

ReceiveSms.cpp
#include <iostream>
#include <string>
#include "Ozeki.Libs.Rest.h"

using namespace std;

int main()
{
    //Funkcia na vytvorenie unikátneho identifikátora pre každú správu
    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;
}
	

Ako použiť príklad v C++:

Tento príklad v C++ môže byť použitý v akejkoľvek aplikácii v C alebo C++. Na použitie je potrebné pridať Ozeki.Libs.Rest.dll ako referenciu do vášho projektu. Po pridaní referencie do projektu musíte vložiť direktívu using Ozeki.Libs.Rest; do hlavičkovej časti vášho zdrojového kódu v C/C++. To vám umožní používať triedy poskytované knižnicou Ozeki.Libs.Rest. Môžete použiť triedu MessageApi na prijatie SMS z SMS brány. SMS brána vám prepošle správu buď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Stiahnuť Receive-SMS.cs

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: ReceiveSms.cpp.zip (2.97Mb)

Čo obsahuje súbor ReceiveSms.cpp.zip?

Súbor ReceiveSms.cpp.zip obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. Nájdete tu aj projekt ReceiveSms, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako prijímať SMS. Tento ukážkový kód je uvedený nižšie.

Obrázok 2 - Čo je vo vnútri ReceiveSms.cpp.zip

Ako prijímať SMS v C/C++ (Jednoduchý návod)

Na prijímanie SMS v C/C++:

  1. Nainštalujte Visual Studio Community
  2. Stiahnite si súbor ReceiveSms.cpp.zip
  3. Extrahujte .zip súbor z priečinka Stiahnuté
  4. Otvorte súbor ReceiveSms.sln v programe Visual Studio
  5. Spustite Ozeki SMS Gateway
  6. Kliknite na HTTP používateľa v karte Používatelia a aplikácie
  7. Spustite ReceiveSms.cpp na prijímanie SMS v C/C++
  8. Skontrolujte Doručenú poštu v Ozeki SMS Gateway
Nainštalujte Ozeki SMS Gateway a vytvorte HTTP API používateľa

Na odosielanie a prijímanie SMS z C/C++ je potrebné najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnaký počítač, na ktorom vyvíjate svoj kód v C/C++ v programe Visual Studio. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z grafického rozhrania Ozeki na overenie, či vaše pripojenie k mobilnej sieti funguje. Posledným krokom na prípravu vášho prostredia je vytvorenie používateľského účtu HTTP SMS API. Vytvorte používateľa s menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

Po nastavení prostredia môžete spustiť svoj kód v C/C++.

HTTP API URL na prijímanie SMS v C/C++

Na prijímanie SMS pomocou C/C++ bude vaša aplikácia v C/C++ musieť odoslať HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaná na rovnakom počítači, na ktorom beží vaša aplikácia v C/C++, môže to byť 127.0.0.1. Ak je nainštalovaná na inom počítači, mala by to byť IP adresa toho počítača.

http://127.0.0.1:9509/api?action=rest
	
HTTP autentifikácia na prijímanie SMS v C/C++

Na autentifikáciu klienta SMS v C/C++ je potrebné odoslať používateľské meno a heslo v reťazci zakódovanom do base64 na server v HTTP požiadavke. Používa sa formát: base64(používateľské meno+":"+heslo). V C++ môžete na toto kódovanie použiť nasledujúci kód:

string usernamePassword = username + ":" + password;
string usernamePasswordEncoded = base64::encode(usernamePassword);
return "Basic " + usernamePasswordEncoded;
	

Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci reťazec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

HTTP požiadavka na prijatie SMS pomocou C/C++

Na prijatie SMS bude vaša aplikácia v C/C++ odosielať HTTP požiadavku podobnú tej, ktorá je uvedená nižšie. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť HTTP tela. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text správy.

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
	
HTTP hlavička požiadavky na prijatie SMS z C/C++

Na odoslanie SMS správ musíte do HTTP požiadavky zahrnúť nasledujúce riadky ako hlavičky. Upozorňujeme, že obsahujeme hlavičku typu obsahu a autorizácie.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP odpoveď prijatá príkladom SMS v C/C++

Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Taktiež vráti štruktúru zakódovanú v JSON, ktorá poskytne užitočné informácie o odoslaní sprá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 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": []
	    }
	  ]
	}
}
	
Stiahnutie a otvorenie projektu v C/C++ (Video návod)

V nasledujúcom videu vám ukážeme, ako stiahnuť a otvoriť súbor projektu. Video začína nájdením odkazu na stiahnutie a končí projektom pripraveným na použitie. Toto 1:32 minútové video je ľahko zrozumiteľné a veľmi podrobné. Nebudete mať žiadny problém s porozumením tohto návodu. Používame vývojové prostredie Visual Studio na otvorenie projektu.

Video 1 - Ako stiahnuť a spustiť príkladové riešenie (Video návod)

Príkladový kód nižšie je súčasťou riešenia Visual Studio Receive-SMS.sln. Riešenie Visual Studio môže obsahovať viacero projektov a súborov. V tomto riešení je len jeden projekt: Receive-SMS.csproj a jeden súbor: Program.cs.

Obrázok 3 - ReceiveSms.sln

Použitie projektu (video návod)

Nasledujúce video vysvetľuje, ako použiť projekt. Začína otvorením Ozeki SMS Gateway a prevedie vás až k zoznamu správ v príkazovom riadku. Počas procesu uvidíte, ako kód presúva správy z priečinka doručenej pošty do projektu C/C++. Video je skvelé, pretože obsahuje všetky kroky podrobne a je ľahko zrozumiteľné. Na sledovanie videa budete potrebovať len 34 sekúnd a použijete ovládací panel Ozeki SMS Gateway, ktorý je veľmi intuitívny. Nebudete mať žiadny problém s nasledovaním návodu.

Video 2 - Prijímanie SMS pomocou vyššie uvedeného kódu v C++ (Video návod)

Aby sme to zhrnuli

Tento sprievodca vám ukázal, ako prijímať SMS v C/C++ pomocou HTTP SMS API používateľa Ozeki SMS Gateway. S týmto riešením môžete zabezpečiť, že prichádzajúce správy budú presmerované SMS API a prijaté vaším programom v Scala. Váš zoznam kontaktov a dáta sú v bezpečí, pretože Ozeki SMS Gateway beží v uzavretom prostredí, ktoré kontrolujete.

Pokračujte v čítaní o podobných témach na webovej stránke Ozeki. Pozrite si Ako vymazať SMS v C/C++ a použite poskytnuté kódy bez obmedzení.

Začnite pracovať stiahnutím Ozeki SMS Gateway hneď teraz!

More information