Kako prejeti SMS v C/C++
Najenostavnejši način za pošiljanje SMS iz C/C++ je uporaba vgrajenega HTTP/Rest SMS API-ja Ozeki SMS Gateway. Ko uporabljate ta API, boste pošiljali SMS sporočila z izdajo HTTP Post zahteve do SMS prehoda. HTTP Post zahteva bo vsebovala sporočilo oblikovano v json formatu. SMS prehod bo poslal ta SMS prejemniku na telefon in vrnil HTTP 200 OK odgovor na vašo zahtevo.
Spodnji C/C++ vzorec kode za SMS prikazuje, kako lahko prejemate SMS z uporabo http rest sms api Ozeki SMS Gateway z uporabo knjižnice C++ Ozeki.Libs.Rest. Ta knjižnica vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od vaših projektov.
ReceiveSms.cpp#include <iostream> #include <string> #include "Ozeki.Libs.Rest.h" using namespace std; int main() { //Funkcija za ustvarjanje edinstvenega identifikatorja za vsako sporočilo 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; }
Kako uporabiti C++ SMS primer:
Ta C++ SMS primer lahko uporabite v kateri koli C ali C++ aplikaciji. Za uporabo morate dodati Ozeki.Libs.Rest dll kot referenco v vaš projekt. Po dodajanju reference projekta morate v glavo vaše C/C++ izvorne kode dodati direktivo using Ozeki.Libs.Rest;. To vam bo omogočilo uporabo razredov, ki jih ponuja knjižnica Ozeki.Libs.Rest. Razred MessageApi lahko uporabite za prejemanje SMS iz SMS prehoda. SMS prehod vam bo sporočilo posredoval prek brezžične povezave ali prek interneta.
Prenesite Receive-SMS.cs
Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: ReceiveSms.cpp.zip (2.97Mb)
Datoteka ReceiveSms.cpp.zip vsebuje knjižnico Ozeki.Libs.Rest, ki vam ponuja vsa orodja, potrebna za pošiljanje in prejemanje SMS sporočil. V zip datoteki boste našli tudi projekt ReceiveSms, ki vsebuje primer kode, ki vam pokaže, kako prejeti SMS. Ta primer kode je naveden spodaj.
Za prejemanje SMS v C/C++:
- Namestite Visual Studio Community
- Prenesite datoteko ReceiveSms.cpp.zip
- Razširite .zip datoteko iz Prenosi
- Odprite datoteko ReceiveSms.sln v Visual Studiu
- Zaženite Ozeki SMS Gateway
- Kliknite na HTTP uporabnika v zavihku Uporabniki in aplikacije
- Zaženite ReceiveSms.cpp za prejemanje SMS v C/C++
- Preverite nabiralnik v Ozeki SMS Gateway
Da lahko pošiljate in prejemate SMS iz C/C++, morate najprej namestiti Ozeki SMS Gateway. SMS prehod lahko namestite na isti računalnik, kjer razvijate svojo C/C++ kodo v Visual Studiu. Po namestitvi je naslednji korak povezovanje Ozeki SMS Gateway z mobilnim omrežjem. Lahko pošljete testni SMS iz Ozeki GUI, da preverite, ali vaša mobilna omrežna povezava deluje. Zadnji korak pri pripravi vašega okolja je ustvarjanje HTTP SMS API uporabniškega računa. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da primer deluje brez sprememb.
Ko je okolje pripravljeno, lahko zaženete svojo C/C++ kodo.
HTTP API URL za prejemanje SMS iz C/C++Za prejemanje SMS z uporabo C/C++, bo vaša C/C++ aplikacija morala izdati HTTP zahtevo do SMS prehoda. API URL je prikazan spodaj. Upoštevajte, da je treba IP naslov (127.0.0.1) zamenjati z IP naslovom vašega SMS prehoda. Če je Ozeki SMS Gateway nameščen na istem računalniku, kjer teče vaša C/C++ SMS aplikacija, je to lahko 127.0.0.1. Če je nameščen na drugem računalniku, mora biti to IP naslov tega računalnika.
http://127.0.0.1:9509/api?action=rest
Za avtentikacijo C/C++ SMS odjemalca morate poslati uporabniško ime in geslo v base64 kodiranem nizu na strežnik v HTTP zahtevi. Uporabljen format je: base64(uporabniško_ime+":"+geslo). V C++ lahko za to kodiranje uporabite naslednjo kodo:
string usernamePassword = username + ":" + password; string usernamePasswordEncoded = base64::encode(usernamePassword); return "Basic " + usernamePasswordEncoded;
Na primer, če kodirate uporabniško ime 'http_user' in geslo 'qwe123', boste dobili naslednji base64 kodiran niz: aHR0cF91c2VyOnF3ZTEyMw==. Za pošiljanje
HTTP zahteva za prejemanje SMS s C/C++
Za prejemanje SMS bo vaša aplikacija v C/C++ poslala HTTP zahtevo, podobno spodnji. Upoštevajte, da ta zahteva vsebuje del z glavo HTTP in del s telesom HTTP. Telo HTTP je niz podatkov, kodiran v JSON. Vsebuje številko prejemnika in besedilo sporočila.
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
Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevo. Upoštevajte, da vključujemo vrsto vsebine in glavo za avtorizacijo.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Ko SMS prehod prejme to zahtevo, bo ustvaril HTTP odziv. HTTP odziv bo vseboval statusno kodo, ki označuje, ali je bila zahteva za oddajo SMS uspešna ali ne. Prav tako bo vrnil strukturo, kodirano v JSON, ki vam bo zagotovila koristne podrobnosti o oddaji sporočila.
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": [] } ] } }
V naslednjem videu vam bomo pokazali, kako prenesti in odpreti projektno datoteko. Video se začne z iskanjem povezave za prenos in se konča s projektom, pripravljenim za uporabo. Ta 1:32 dolg video je enostaven za razumevanje in zelo podroben. Ne boste imeli težav z razumevanjem te vadnice. Uporabljamo programsko okolje Visual Studio za odpiranje projekta.
Spodnji primer kode je del vizualnega studio rešitve Receive-SMS.sln. Vizualna studio rešitev lahko vsebuje več projektov in več datotek. V tej rešitvi je samo en projekt: Receive-SMS.csproj, in ena datoteka: Program.cs.
Naslednji video razlaga, kako uporabljati projekt. Začne se z odpiranjem Ozeki SMS Gateway in vas popelje vse do seznama sporočil v ukazni vrstici. Med procesom boste videli, kako koda premika sporočila iz mape »inbox« v projekt C/C++. Video je odličen, ker prikazuje vse korake na podroben način in je enostaven za razumevanje. Potrebovali boste le 34 sekund za ogled videa in uporabili boste nadzorno ploščo Ozeki SMS Gateway, ki je zelo intuitivna. Ne boste imeli težav pri sledenju vadnici.
Ta vodič vam je pokazal, kako prejemati SMS v C/C++ z uporabo HTTP SMS API uporabnika Ozeki SMS Gateway. S to rešitvijo lahko zagotovite, da bodo dohodna sporočila preusmerjena prek SMS API in prejeta v vašem programu Scala. Vaš seznam stikov in podatki so v varnih rokah, saj Ozeki SMS Gateway deluje v zaprtem okolju, ki ga nadzorujete.
Nadaljujte z branjem o podobnih temah na spletni strani Ozeki. Oglejte si Kako izbrisati SMS v C/C++ in uporabite navedene kode brez omejitev.
Začnite z delom tako, da takoj prenesete Ozeki SMS Gateway!
More information
- C/Cpp pošlji SMS z HTTP rest API (vzorec kode)
- C/Cpp pošlji več SMS z HTTP rest API (vzorec kode)
- C/Cpp načrtovani SMS z HTTP rest API (vzorec kode)
- C/Cpp prejmi SMS z HTTP rest API (vzorec kode)
- C/Cpp izbriši SMS z HTTP rest API (vzorec kode)
- Kako prenesti najnovejšo knjižnico C/Cpp SMS API z Githuba