Kako načrtovati 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 na SMS gateway. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS gateway bo poslal ta SMS prejemniku in vrnil HTTP 200 OK odgovor na vašo zahtevo. (Slika 1)
Spodnji C/C++ sms primer kode prikazuje, kako lahko pošiljate SMS z uporabo http rest sms api-ja 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.
SendScheduledSms.cpp#include#include #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"; Message msg; msg.ToAddress = "+36201111111"; msg.Text = "Pozdravljen svet!"; msg.TimeToSend = localdatetime(2021, 6, 29, 10, 0, 0); MessageApi api(configuration); auto result = api.Send(msg); cout << result << endl; return 0; }
Kako uporabiti C/C++ sms primer:
Ta C/C++ sms primer lahko uporabite v kateri koli C ali C++ osnovni 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 Message lahko uporabite za ustvarjanje SMS. Razred MessageApi lahko uporabite za pošiljanje SMS na SMS gateway. SMS gateway bo vaše sporočilo posredoval v mobilno omrežje prek brezžične povezave ali prek interneta.
Prenesite SendScheduledSms.cpp
Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: SendScheduledSms.cpp.zip (2.97Mb)
Datoteka SendScheduledSms.cpp 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 SendScheduledSms, ki vsebuje primer kode, ki vam pokaže, kako poslati načrtovan SMS. Ta primer kode je naveden spodaj. (Slika 2)
Za pošiljanje načrtovanega SMS iz C/C++:
- Namestite uporabnika HTTP API
- Nastavite Visual Studio
- Prenesite datoteko SendScheduledSms.cpp.zip
- Razširite .zip datoteko iz mape Prenosi
- Odprite datoteko SendScheduledSms.sln v Visual Studiu
- Dodajte Ozeki.Libs.Rest dll kot referenco
- Uredite datoteko za načrtovanje SMS iz C/C++
- Zaženite Ozeki SMS Gateway
- Zaženite SendScheduledSms.cpp v Visual Studiu za pošiljanje SMS iz C/C++
- Preverite dnevnike
Da lahko pošiljate SMS iz C/C++, morate najprej namestiti Ozeki SMS Gateway. SMS gateway 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. Končni korak za pripravo vašega okolja je ustvarjanje uporabnika HTTP sms api. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da primer deluje brez sprememb.
Ko je okolje nastavljeno, lahko zaženete svojo C/C++ kodo.
HTTP API url za pošiljanje SMS iz C/C++Za pošiljanje SMS iz C/C++, bo vaša C/C++ aplikacija morala izdati HTTP zahtevo na SMS gateway. API url je prikazan spodaj. Upoštevajte, da je treba IP naslov (127.0.0.1) zamenjati z IP naslovom vašega SMS gatewaya. Č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
HTTP avtentikacija za pošiljanje SMS-ov iz C/C++
Za avtentikacijo C/C++ SMS odjemalca morate uporabniško ime in geslo poslati 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 prejeli naslednji base64 kodiran niz: aHR0cF91c2VyOnF3ZTEyMw==. Za pošiljanje
HTTP glava zahteve za pošiljanje SMS-ov iz C/C++Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevo. Opazite, da vključujemo tip vsebine in glavo za avtorizacijo.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Za oddajo SMS-a bo vaša C/C++ aplikacija poslala HTTP zahtevo, podobno spodnji. Opazite, 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.
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" } ] }
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: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" } ] } }
Spodnja primer kode je del Visual Studio rešitve SendScheduledSms.sln. Visual Studio rešitev lahko vsebuje več projektov in več datotek. V tej rešitvi je samo en projekt: SendScheduledSms.vcxproj in ena datoteka: SendScheduledSms.cpp.
Naslednji video razlaga, kako načrtovati SMS s kodo C/C++. Video se začne z odpiranjem Ozeki SMS prehoda in z izpolnjevanjem vseh korakov boste imeli SMS sporočilo, ki čaka na pošiljanje v mapi za odložene. Ta 1:44 dolg video je enostaven za razumevanje in jasno prikazuje vse korake. Uporabili boste nadzorno ploščo Ozeki SMS prehoda, ki vam omogoča dostop do najpomembnejših funkcij z enim klikom. Naučili se boste, kako zagnati Ozeki SMS prehod in kako preveriti mapo za odhodno pošto. Kako zagnati kodo in kako določiti čas pošiljanja SMS-a.
Povzetek
Glavna funkcija tega članka je bila razložiti, kako načrtovati SMS v C/C++ z uporabnikom HTTP SMS API Ozeki SMS prehoda. Če ste skrbno prebrali vodnik, bi moralo biti načrtovanje SMS-ov s C/C++ zelo enostavno. Deljenje informacij ob pravem času je ključno za najučinkovitejše delo, saj lahko na ta način zmanjšate promet SMS-ov in stopite v stik s sodelavci, ko so ravno pripravljeni prebrati sporočila.
Prepričajte se, da nadaljujete z branjem navodil na spletni strani Ozeki za več informacij. Poglobite se v druge vadnice za C/C++, kot je Kako prejeti SMS v C/C++ in več.
Zdaj prenesite Ozeki SMS prehod in naj se delo začne!
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