Cum să programezi un SMS în C/C++

Cea mai simplă metodă de a trimite SMS din C/C++ este să folosești API-ul 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. (Figura 1)

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

Cod C/C++ pentru a trimite SMS programat pe mobil

Exemplul de cod C/C++ pentru SMS de mai jos demonstrează cum poți trimite SMS folosind API-ul HTTP rest SMS al Ozeki SMS Gateway cu ajutorul bibliotecii C++ Ozeki.Libs.Rest. Această bibliotecă este oferită gratuit și o poți folosi și modifica în oricare dintre proiectele tale.

SendScheduledSms.cpp
#include 
#include 
#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";

    Message msg;
    msg.ToAddress = "+36201111111";
    msg.Text = "Hello world!";
    msg.TimeToSend = localdatetime(2021, 6, 29, 10, 0, 0);

    MessageApi api(configuration);

    auto result = api.Send(msg);

    cout << result << endl;

    return 0;
}
	

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

Acest exemplu C/C++ pentru SMS poate fi folosit în orice aplicație C sau C++ core. 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ă incluzi 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 Message pentru a crea SMS-ul. Poți folosi clasa MessageApi pentru a trimite SMS-ul către gateway-ul SMS. Gateway-ul SMS va transmite mesajul tău către rețeaua mobilă fie printr-o conexiune wireless fie prin Internet.

Video 1 - Cum să descarci și să configurezi proiectul exemplu de mai sus (Tutorial video)

Descarcă SendScheduledSms.cpp

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

Ce conține fișierul SendScheduledSms.cpp?

Fișierul SendScheduledSms.cpp 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 SendScheduledSms în arhiva zip, care conține codul exemplu pentru a-ți arăta cum să trimiți un SMS programat. Acest cod exemplu este listat mai jos. (Figura 2)

proiect exemplu pentru a trimite mesaje SMS programate folosind c plus plus
Figura 2 - Ce conține SendScheduledSms.cpp.zip

Cum să trimiți SMS programat din C/C++ (Ghid simplu)

Pentru a trimite SMS programat din C/C++:

  1. Instalează utilizatorul HTTP API
  2. Configurează Visual Studio
  3. Descarcă fișierul SendScheduledSms.cpp.zip
  4. Extrage fișierul .zip din folderul Downloads
  5. Deschide fișierul SendScheduledSms.sln în Visual Studio
  6. Adaugă DLL-ul Ozeki.Libs.Rest ca referință
  7. Editează fișierul pentru a programa SMS din C/C++
  8. Lansează Ozeki SMS Gateway
  9. Rulează SendScheduledSms.cpp în Visual Studio pentru a trimite SMS din C/C++
  10. Verifică jurnalele
Instalează Ozeki SMS Gateway și creează un utilizator HTTP API

Pentru a putea trimite 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 trimite SMS din C/C++

Pentru a trimite SMS din 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 trimite SMS din C/C++

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

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

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

Antetul cererii HTTP pentru a trimite SMS din C/C++

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

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
Cererea HTTP pentru a trimite SMS programat din C/C++

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

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-29T10:21:47",
			"message_id":	"gi0j9bk6-y7wv-35qq-tksz-nzgwbc2sxznq",
			"submit_delivery_requested":	true,
			"submit_report_requested":	true,
			"submit_view_requested":	true,
			"text":	"Hello world!",
			"time_to_send":	"2021-06-29T10:30:00",
			"to_address":	"+36201111111",
			"valid_until":	"2021-07-06T10:21:47"
		}
	]
}
	
Răspunsul HTTP primit de exemplul SMS în C/C++

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ă cererea de trimitere a SMS-ului a fost reușită sau nu. De asemenea, va returna o structură codificată JSON pentru a vă 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:13:46 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": "gi0j9bk6-y7wv-35qq-tksz-nzgwbc2sxznq",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-06-29 10:21:47",
	      "valid_until": "2021-07-06 10:21:47",
	      "time_to_send": "2021-06-29 10:30:00",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	
Exemplu SMS în C/C++: SendScheduledSms.sln

Exemplul de cod de mai jos face parte din Soluția Visual Studio SendScheduledSms.sln. O soluție Visual Studio poate conține mai multe proiecte și mai multe fișiere. În această soluție există doar un proiect: SendScheduledSms.vcxproj și un fișier: SendScheduledSms.cpp.

soluție pentru a trimite mesaje SMS programate folosind c plus plus
Figura 3 - SendScheduledSms.sln

Cum să trimiteți un SMS programat cu codul C++ (Tutorial video)

Următorul videoclip explică cum să programați un SMS cu un cod C/C++. Videoclipul începe cu deschiderea Ozeki SMS Gateway și, parcurgând toți pașii, veți avea un mesaj SMS așteptând să fie trimis în folderul amânat. Acest videoclip de 1:44 minute este ușor de înțeles și arată clar toți pașii. Veți folosi tabloul de bord Ozeki SMS Gateway, care vă permite să accesați cele mai importante funcții cu un singur clic. Veți învăța cum să lansați Ozeki SMS Gateway și cum să verificați folderul outbox. Cum să lansați codul și cum să furnizați ora de trimitere a SMS-ului.

Video 2 - Trimiterea unui SMS programat cu codul C++ de mai sus (Tutorial video)

Rezumat

Funcția principală a acestui articol a fost să explice cum să programați un SMS în C/C++ cu utilizatorul API HTTP SMS al Ozeki SMS Gateway. Dacă ați citit cu atenție ghidul, programarea SMS-urilor cu C/C++ ar trebui să fie foarte ușoară. Distribuirea informațiilor la momentul perfect este esențială pentru cea mai eficientă muncă, deoarece în acest fel puteți menține traficul de SMS scăzut și puteți contacta colegii dvs. chiar atunci când sunt pregătiți să citească mesaje.

Asigurați-vă că continuați să citiți ghiduri pe pagina web Ozeki pentru mai multe informații. Aprofundați-vă în alte tutoriale C/C++ precum Cum să primiți un SMS în C/C++ și multe altele.

Acum descărcați Ozeki SMS Gateway și lăsați munca să înceapă!

More information