Cum să trimiți mai multe SMS-uri din C/C++
Cea mai simplă metodă de a trimite SMS-uri 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 efectuarea 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.
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 Ozeki.Libs.Rest pentru C/C++. Această bibliotecă este oferită gratuit și poți să o folosești și să o modifici în oricare dintre proiectele tale.
SendMultipleSms.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 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; }
Cum să folosești exemplul C/C++ pentru SMS:
Acest exemplu de SMS în C++ poate fi folosit în orice aplicație C/C++. Pentru a-l utiliza, trebuie să adaugi DLL-ul Ozeki.Libs.Rest ca referință în proiectul tău. După ce referința la proiect 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.
Descarcă SendSms.cpp
Codul sursă explicat în acest articol poate fi descărcat, folosit și modificat gratuit.
Descarcă: SendMultipleSms.cpp.zip (2.97Mb)
Fișierul SendMultipleSms.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 SendMultipleSms în arhiva zip, 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 mai multe SMS-uri din C/C++:
- Configurează Visual Studio Community
- Descarcă fișierul SendMultipleSms.cpp.zip
- Extrage fișierul .zip din folderul Descărcări
- Deschide fișierul sendsms.sln în Visual Studio
- Lansează Ozeki SMS Gateway
- Creează un utilizator HTTP API în Ozeki
- Rulează codul C/C++ SendMultipleSms.cpp în Visual Studio pentru a trimite SMS-uri de test
- Verifică căsuța Trimise în Ozeki SMS Gateway
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 pe care îți 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 de test din interfața grafică 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ă efectueze 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 pe care rulează aplicația ta 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# 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
Antetul cererii HTTP pentru trimiterea SMS-urilor din C/C++
Pentru a trimite mesajele SMS, trebuie să includeți următoarele linii ca antete î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 trimiterea SMS-urilor din C/C++
Pentru a trimite SMS-ul, aplicația dvs. 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 în JSON. Acesta conține numărul destinatarului și textul mesajului.
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": "Salut lume 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": "Salut lume 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": "Salut lume 3", "time_to_send": "2021-06-29T08:40:11", "to_address": "+36203333333", "valid_until": "2021-07-06T08:40:11" } ] }
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ă 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: Tue, 29 Jun 2021 08:36:20 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Mesaje în așteptare pentru livrare.", "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": "Salut lume 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": "Salut lume 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": "Salut lume 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" } ] } }
Exemplu C/C++ pentru SMS: SendMultipleSms.sln
În acest videoclip, vă vom arăta cum puteți trimite mai multe mesaje SMS folosind proiectul exemplu pe care l-am oferit pe pagina de tutorial. Videoclipul va începe cu descărcarea proiectului exemplu și se va încheia cu rularea codului. Videoclipul este scurt, dar foarte ușor de urmărit. Nu veți avea probleme în a urmări tutorialul. Dacă sunteți familiarizat cu C/C++, nu ezitați să modificați variabilele din cod pentru a trimite un mesaj personalizat la adrese personalizate.
Codul exemplu de mai jos face parte din Soluția Visual Studio SendMultipleSms.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: SendMultipleSms.vcxproj și un singur fișier: SendMultipleSms.cs.
Cum să folosești proiectul exemplu (Tutorial video)
În următorul videoclip, vei învăța cum să rulezi codul și cum să verifici rezultatele. Mai întâi, videoclipul îți va arăta cum să rulezi codul. Apoi vei vedea cum să verifici folderul Sent al utilizatorului HTTP. La sfârșitul videoclipului, vei vedea detaliile unui mesaj trimis. Videoclipul durează doar 46 de secunde și conține toți pașii și informațiile importante de care ai nevoie pentru a finaliza procesul.
Gânduri finale
Acest ghid conține toate informațiile fundamentale despre cum să trimiți mai multe SMS-uri din C/C++ cu API-ul HTTP REST SMS al Ozeki SMS Gateway. Veți găsi această soluție foarte benefică deoarece API-ul SMS pentru C/C++ funcționează cu Android SMS Gateway, pe lângă furnizorii de servicii SMS online care vă permit să trimiteți SMS fără fir. Acest serviciu vă permite să livrați informații valoroase la mai multe telefoane mobile simultan, făcând astfel mesajele dumneavoastră mai dinamice.
Hai să înveți mai multe acum! Poți găsi multe alte documente similare pe site-ul Ozeki. Poți folosi API-urile SMS pentru C/C++ cu alte funcționalități, verifică Cum să programezi un SMS în C/C++.
Pune în practică ceea ce ai învățat, descarcă mai întâi Ozeki SMS Gateway!
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