Cum să primești un SMS în C/C++

Cea mai simplă metodă de a trimite SMS din C/C++ este utilizarea API-ului HTTP/Rest SMS încorporat al Ozeki SMS Gateway. Când folosești acest API, vei trimite mesaje SMS prin emiterea unei cereri HTTP Post către gateway-ul SMS. Cererea HTTP Post va conține un mesaj formatat în format json. Gateway-ul SMS va trimite acest SMS către telefonul destinatar și va returna un răspuns HTTP 200 OK la cererea ta.

cum să primești un sms în ccpp
Figura 1 - Cum să primești un SMS în C/C++

Cod C/C++ pentru a primi SMS de la mobil

Exemplul de cod C/C++ pentru SMS de mai jos demonstrează cum poți primi SMS folosind API-ul http rest sms al Ozeki SMS Gateway cu ajutorul bibliotecii C++ Ozeki.Libs.Rest. Această bibliotecă este oferită gratuit și poți să o folosești și să o modifici în oricare dintre proiectele tale.

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

using namespace std;

int main()
{
    //Funcție pentru a crea un identificator unic pentru fiecare mesaj
    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;
}
	

Cum să folosești exemplul C++ pentru SMS:

Acest exemplu C++ pentru SMS poate fi folosit în orice aplicație C sau C++. Pentru a-l folosi, trebuie să adaugi DLL-ul Ozeki.Libs.Rest ca referință în proiectul tău. După ce referința proiectului este adăugată, trebuie să introduci directiva using Ozeki.Libs.Rest; în secțiunea de antet a codului sursă C/C++. Acest lucru îți va permite să folosești clasele furnizate de biblioteca Ozeki.Libs.Rest. Poți folosi clasa MessageApi pentru a primi SMS de la gateway-ul SMS. Gateway-ul SMS va transmite mesajul către tine fie prin conexiune wireless fie prin Internet.

Descarcă Receive-SMS.cs

Codul sursă explicat în acest articol poate fi descărcat, folosit și modificat gratuit.
Descarcă: ReceiveSms.cpp.zip (2.97Mb)

Ce conține fișierul ReceiveSms.cpp.zip?

Fișierul ReceiveSms.cpp.zip conține biblioteca Ozeki.Libs.Rest, care îți oferă toate instrumentele necesare pentru a trimite și primi mesaje SMS. Vei găsi de asemenea proiectul ReceiveSms în arhivă, care conține codul exemplu pentru a-ți arăta cum să primești un SMS. Acest cod exemplu este listat mai jos.

Figura 2 - Ce conține ReceiveSms.cpp.zip

Cum să primești SMS în C/C++ (Ghid simplu)

Pentru a primi SMS în C/C++:

  1. Configurează Visual Studio Community
  2. Descarcă fișierul ReceiveSms.cpp.zip
  3. Extrage fișierul .zip din Descărcări
  4. Deschide fișierul ReceiveSms.sln în Visual Studio
  5. Lansează Ozeki SMS Gateway
  6. Apasă pe utilizatorul HTTP în fila Utilizatori și aplicații
  7. Rulează ReceiveSms.cpp pentru a primi SMS în C/C++
  8. Verifică căsuța de mesaje primite în Ozeki SMS Gateway
Instalează Ozeki SMS Gateway și creează un utilizator HTTP API

Pentru a putea trimite și primi SMS din C/C++, mai întâi trebuie să instalezi Ozeki SMS Gateway. Gateway-ul SMS poate fi instalat pe același computer pe care dezvolți codul C/C++ în Visual Studio. După instalare, următorul pas este să conectezi Ozeki SMS Gateway la rețeaua mobilă. Poți trimite un SMS test din interfața Ozeki pentru a verifica dacă conexiunea ta la rețeaua mobilă funcționează. Ultimul pas pentru a-ți pregăti mediul este să creezi un utilizator HTTP sms api. Creează un utilizator cu numele de utilizator "http_user" și parola "qwe123" pentru a face exemplul să funcționeze fără modificări.

După ce mediul este configurat, poți rula codul tău C/C++.

URL API HTTP pentru a primi SMS din C/C++

Pentru a primi SMS folosind C/C++, aplicația ta C/C++ va trebui să emită o cerere HTTP către gateway-ul SMS. URL-ul API este afișat mai jos. Reține că adresa IP (127.0.0.1) ar trebui să fie înlocuită cu adresa IP a gateway-ului tău SMS. Dacă Ozeki SMS Gateway este instalat pe același computer pe care rulează aplicația C/C++ pentru SMS, aceasta poate fi 127.0.0.1. Dacă este instalat pe un computer diferit, ar trebui să fie adresa IP a acelui computer.

http://127.0.0.1:9509/api?action=rest
	
Autentificare HTTP pentru a primi SMS din C/C++

Pentru a autentifica clientul C/C++ pentru SMS, trebuie să trimiți numele de utilizator și parola într-un șir codificat base64 către server într-o cerere HTTP. Formatul folosit este: base64(nume_utilizator+":"+parolă). În C++ poți folosi următorul cod pentru a face această codificare:

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

De exemplu, dacă codezi numele de utilizator 'http_user' și parola 'qwe123', vei obține următorul șir codificat base64: aHR0cF91c2VyOnF3ZTEyMw==. Pentru a trimite

Cerere HTTP pentru primirea SMS-urilor cu C/C++

Pentru a primi SMS-uri, aplicația ta C/C++ va trimite o cerere HTTP similară cu cea de mai jos. Reține că această cerere conține o parte de antet HTTP și o parte de corp HTTP. Corpul HTTP este un șir de date codificat în JSON. Acesta conține numărul destinatarului și textul mesajului.

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
	

Antetul cererii HTTP pentru primirea SMS-urilor din C/C++

Pentru a trimite mesajele SMS, trebuie să incluzi următoarele linii ca anteturi în cererea HTTP. Reține că includem un antet pentru tipul de conținut și unul pentru autorizare.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

Răspunsul HTTP primit de exemplul C/C++ pentru SMS

Odată ce gateway-ul SMS primește această cerere, va genera un răspuns HTTP. Răspunsul HTTP va conține un cod de stare, pentru a indica dacă trimiterea SMS-ului a fost reușită sau nu. De asemenea, va returna o structură codificată în JSON pentru a-ți oferi detalii utile despre trimiterea mesajului.

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": []
	    }
	  ]
	}
}
	

Descărcarea și deschiderea proiectului C/C++ (Tutorial video)

În următorul videoclip, îți vom arăta cum să descarci și să deschizi fișierul proiectului. Videoclipul începe cu găsirea link-ului de descărcare și se încheie cu proiectul gata de utilizat. Acest videoclip de 1:32 minute este ușor de înțeles și foarte detaliat. Nu vei avea nicio problemă în a înțelege acest tutorial. Folosim mediul de programare Visual Studio pentru a deschide proiectul.

Video 1 - Cum să descarci și să rulezi soluția exemplu (Tutorial video)

Codul exemplu de mai jos face parte din Soluția Visual Studio Receive-SMS.sln. O soluție Visual Studio poate conține mai multe proiecte și mai multe fișiere. În această soluție există un singur proiect: Receive-SMS.csproj și un singur fișier: Program.cs.

Figura 3 - ReceiveSms.sln

Utilizarea proiectului (tutorial video)

Următorul videoclip explică cum să utilizezi proiectul. Acesta va începe cu deschiderea Ozeki SMS Gateway și te va conduce până la lista de mesaje în linia de comandă. În acest proces, vei vedea cum codul mută mesajele din folderul inbox în proiectul C/C++. Videoclipul este excelent pentru că prezintă toți pașii într-un mod detaliat și ușor de înțeles. Vei avea nevoie de doar 34 de secunde pentru a viziona videoclipul și vei folosi tabloul de bord al Ozeki SMS Gateway, care este foarte intuitiv. Nu vei avea nicio problemă în a urmări tutorialul.

Video 2 - Primirea SMS-urilor cu codul C++ de mai sus (Tutorial video)

În concluzie

Acest ghid v-a arătat cum să primiți SMS în C/C++ cu ajutorul API-ului HTTP SMS al Ozeki SMS Gateway. Cu această soluție, puteți asigura că mesajele primite vor fi redirecționate de către API-ul SMS și vor fi recepționate de programul vostru în Scala. Lista de contacte și datele dumneavoastră sunt în mâini sigure, deoarece Ozeki SMS Gateway funcționează într-un mediu închis pe care îl controlați.

Continuați să citiți despre subiecte ca acesta pe pagina web Ozeki. Consultați Cum să ștergeți un SMS în C/C++ și folosiți codurile furnizate fără restricții.

Începeți lucrul descărcând acum Ozeki SMS Gateway!

More information