Cum să trimiți SMS din 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 trimiterea 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.
Cod C/C++ pentru a trimite SMS către un telefon mobilExemplul 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/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.
SendSms.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"; Message msg; msg.ToAddress = "+36201111111"; msg.Text = "Hello world!"; 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++. Pentru a-l folosi, trebuie să adaugi DLL-ul Ozeki.Libs.Rest ca referință în proiectul tău. După ce referința 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.
Codul sursă explicat în acest articol poate fi descărcat, folosit și modificat gratuit.
Descarcă: SendSms.cpp.zip (2.97Mb)
Fișierul SendSms.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 SendSms în arhivă, care conține codul exemplu pentru a-ți arăta cum să trimiți un SMS. Acest cod exemplu este listat mai jos.
Pentru a trimite SMS din C/C++:
- Instalează un utilizator HTTP API
- Activează Log communication events în fila Advanced
- Configurează Visual Studio
- Descarcă și apoi extrage fișierul SendSms.cpp.zip
- Deschide fișierul sendsms.sln în Visual Studio
- Lansează aplicația Ozeki SMS Gateway
- Rulează codul C++ SendSMS.cpp în Visual Studio
- Verifică jurnalele pentru a vedea dacă SMS-ul a fost trimis
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 calculator unde dezvolți codul tău 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ă trimită 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 calculator unde rulează aplicația C/C++ pentru SMS, poate fi 127.0.0.1. Dacă este instalat pe un alt calculator, ar trebui să fie adresa IP a acelui calculator.
http://127.0.0.1:9509/api?action=rest
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/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
Antet cerere HTTP pentru a trimite SMS din C/C++Pentru a trimite mesajele SMS, trebuie să incluzi următoarele linii ca antete în cererea HTTP. Reține că includem un antet Content-Type și un antet Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cerere HTTP pentru trimiterea SMS din C/C++
Pentru a trimite SMS-ul, 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.
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-29T07:55:54", "message_id": "hbfc030d-68b7-a1i0-6e96-6jgkqml6rnt9", "submit_delivery_requested": true, "submit_report_requested": true, "submit_view_requested": true, "text": "Hello world!", "time_to_send": "2021-06-29T07:55:54", "to_address": "+36201111111", "valid_until": "2021-07-06T07:55:54" } ] }
Răspuns 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ă cererea de trimitere a SMS-ului a fost reușită sau nu. De asemenea, va returna o structură codificată în 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: Mon, 28 Jun 2021 16:58:02 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": "hbfc030d-68b7-a1i0-6e96-6jgkqml6rnt9", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-06-29 07:55:54", "valid_until": "2021-07-06 07:55:54", "time_to_send": "2021-06-29 07:55:54", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Conectează-ți gateway-ul SMS la rețeaua mobilă și creează un cont de utilizator HTTP API (Tutorial video)
Presupunem că ai deja instalat Ozeki SMS Gateway și că l-ai conectat la rețeaua mobilă. Pentru a putea trimite SMS la un telefon mobil din C#, trebuie să configurezi un cont de utilizator HTTP API în Ozeki SMS Gateway. În acest video, îți vom arăta cum să faci acest lucru. Video-ul va începe cu adăugarea unui nou utilizator și se va încheia cu API-ul HTTP funcțional. De asemenea, vei învăța despre modificarea nivelului de log al API-ului. Acest video de 30 de secunde este ușor de urmărit și detaliat, plus că folosim Ozeki SMS Gateway care oferă o interfață de utilizator intuitivă. Nu vei avea probleme în urmărirea tutorialului.
Cum să trimiți SMS din C/C++ folosind API-ul SMS pentru C/C++ (Tutorial video)
Acest video îți arată cum să descarci fișierul SendSms.cpp.zip de pe această pagină și cum să descarci conținutul acestuia în Visual Studio. Dacă urmărești video-ul, vei observa că conținutul arhivei SendSms.cpp este plasat pe desktop-ul Windows. De asemenea, vei vedea că dăm dublu clic pe fișierul sendsms.sln pentru a deschide soluția. Visual Studio va afișa unele avertismente deoarece fișierul provine de pe internet. Apasă pur și simplu OK pentru a evita aceste avertismente.
Exemplu SMS C/C++: SendSms.sln
Codul exemplu de mai jos face parte din Soluția Visual Studio SendSms.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: SendSms.vcxproj și un singur fișier: SendSms.cpp.
Cum să verifici dacă SMS-ul a fost acceptat de utilizatorul HTTP
După ce SMS-ul a fost trimis, este o idee bună să verifici gateway-ul tău SMS, pentru a vedea ce a primit. Poți verifica jurnalul deschizând detaliile utilizatorului HTTP din consola de management Ozeki SMS Gateway. Următorul video îți arată ce să cauți. Video-ul va începe cu Ozeki SMS Gateway deschis și se va încheia cu meniul Evenimente. Vei învăța unde să dai clic și unde să cauți jurnalul utilizatorului HTTP. Video-ul de 34 de secunde este detaliat dar foarte ușor de înțeles. Nu te vei pierde în interfața de utilizator, deoarece Ozeki SMS Gateway oferă una foarte intuitivă.
Cum să verifici că SMS-ul a fost trimis către rețeaua mobilă
Pasul final în verificarea procedurii este să analizezi jurnalele conexiunii la rețeaua mobilă. Poate fi necesar să activezi înregistrarea jurnalelor în configurația conexiunii înainte de a trimite mesajul pentru a vedea jurnalele. Dacă înregistrarea este activată, vei vedea numărul de telefon și textul mesajului pe care l-ai trimis.
Primirea unui SMS pe Android
În acest videoclip, vei vedea procesul de primire a unui mesaj SMS pe Android. Videoclipul de 18 secunde va începe cu o pagină principală obișnuită de Android și îți va arăta notificarea în cazul unui mesaj primit. Vei învăța, de asemenea, cum să deschizi aplicația Mesaje, unde poți obține mai multe informații despre mesaj și să îi răspunzi. Procesul este ușor de înțeles, iar videoclipul îl prezintă în întregime.
În concluzie
Acest articol este scris pentru a te învăța cum să trimiți SMS din C/C++ folosind utilizatorul API HTTP al Ozeki SMS Gateway. Conexiunea utilizator HTTP în Ozeki SMS Gateway îți oferă o conexiune foarte fiabilă și o viteză uimitoare pentru a-ți ajuta afacerea să funcționeze fără probleme. Această soluție poate face organizația ta mai eficientă, deoarece îți permite să trimiți mesaje SMS importante rapid și ușor prin aplicația ta C/C++.
Există mult mai multe articole pentru a te ajuta, așa că asigură-te că continui să citești. Continuă cu tutorialul Cum să trimiți mai multe SMS din C/C++ și află mai multe.
Începe să folosești Ozeki SMS Gateway acum! Descarcă-l de pe pagina web Ozeki.
More information
- C/Cpp send SMS with the HTTP rest API (code sample)
- C/Cpp send multiple SMS with the HTTP rest API (code sample)
- C/Cpp schedule SMS with the HTTP rest API (code sample)
- C/Cpp receive SMS with the HTTP rest API (code sample)
- C/Cpp delete SMS with the HTTP rest API (code sample)
- How to download the latest C/Cpp SMS API library from Github