Hogyan ütemezhetünk SMS-t C/C++ nyelven
A legegyszerűbb módja SMS küldésének C/C++ nyelven az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használod, SMS üzeneteket küldhetsz HTTP POST kérések kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumban formázott üzenetet fog tartalmazni. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonszámára, és egy HTTP 200 OK választ küld vissza a kérésedre. (1. ábra)
C/C++ kód ütemezett SMS küldéséhez mobilra
Az alábbi C/C++ SMS kód minta bemutatja, hogyan küldhetsz SMS-t az Ozeki SMS Gateway HTTP REST SMS API-jával, a C++ Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető számodra, és bármely projektben felhasználhatod és módosíthatod.
SendScheduledSms.cpp#include#include #include "Ozeki.Libs.Rest.h" using namespace std; int main() { //Függvény egyedi azonosító generálásához minden üzenethez 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; }
Hogyan használd a C/C++ SMS példát:
Ez a C/C++ SMS példa bármely C vagy C++ alapú alkalmazásban használható. A használatához hozzá kell adnod az Ozeki.Libs.Rest dll-t referenciaként a projektedhez. A projekt referenciája hozzáadása után az using Ozeki.Libs.Rest; direktívát kell elhelyezned a C/C++ forráskódod fejléc részébe. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. Az Message osztály segítségével hozhatod létre az SMS-t. Az MessageApi osztály segítségével elküldheted az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobil hálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.
SendScheduledSms.cpp letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: SendScheduledSms.cpp.zip (2.97Mb)
Mi található a SendScheduledSms.cpp fájlban?
A SendScheduledSms.cpp fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A zip fájlban megtalálod a SendScheduledSms projektet is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj ütemezett SMS-t. Ez a példakód az alábbiakban látható. (2. ábra)
Hogyan küldj ütemezett SMS-t C/C++ nyelven (Egyszerű útmutató)
Ütemezett SMS küldése C/C++ nyelven:
- HTTP API felhasználó telepítése
- Visual Studio beállítása
- A SendScheduledSms.cpp.zip fájl letöltése
- A .zip fájl kicsomagolása a Letöltések mappából
- A SendScheduledSms.sln fájl megnyitása a Visual Studio-ban
- Az Ozeki.Libs.Rest dll hozzáadása referenciaként
- A fájl szerkesztése ütemezett SMS küldéséhez C/C++ nyelven
- Az Ozeki SMS Gateway indítása
- A SendScheduledSms.cpp futtatása a Visual Studio-ban SMS küldéséhez C/C++ nyelven
- A naplók ellenőrzése
Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása
Ahhoz, hogy SMS-t tudj küldeni C/C++ nyelven, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a C/C++ kódodat fejleszted a Visual Studio-ban. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobil hálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobil hálózati kapcsolatod működik. A környezet előkészítésének utolsó lépése egy HTTP SMS API felhasználói fiók létrehozása. Hozz létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.
Miután a környezet be van állítva, futtathatod a C/C++ kódodat.
HTTP API URL SMS küldéséhez C/C++ nyelven
Ahhoz, hogy SMS-t küldj C/C++ nyelven, a C/C++ alkalmazásodnak HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét írd. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a C/C++ SMS alkalmazás fut, ez lehet 127.0.0.1. Ha másik számítógépre van telepítve, akkor annak a számítógépnek az IP címét kell megadni.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés SMS küldéséhez C/C++ nyelven
A C/C++ SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolású karakterláncként kell elküldened a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). C++ nyelven a következő kódot használhatod a kódoláshoz:
string usernamePassword = username + ":" + password; string usernamePasswordEncoded = base64::encode(usernamePassword); return "Basic " + usernamePasswordEncoded;
Például ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolású karakterláncot kapod: aHR0cF91c2VyOnF3ZTEyMw==.
HTTP kérés fejléc SMS küldéséhez C/C++ nyelven
Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznia a HTTP kérés fejlécének. Figyelj arra, hogy tartalomtípust és egy Authorization fejlécet is tartalmazunk.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés ütemezett SMS küldéséhez C/C++ nyelven
Az SMS beküldéséhez a C/C++ alkalmazásod egy olyan HTTP kérést fog küldeni, mint az alábbi. Figyelj arra, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolású adat karakterlánc. Tartalmazza a címzett számát és az üzenet szövegét.
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" } ] }
HTTP válasz, amit a C/C++ SMS példa kap
Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy állapotkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Egy JSON kódolású struktúrát is visszaad, ami hasznos részleteket nyújt az üzenet beküldéséről.
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" } ] } }
C/C++ SMS példa: SendScheduledSms.sln
Az alábbi példakód a SendScheduledSms.sln Visual Studio Solution része. Egy Visual Studio solution több projektet és több fájlt is tartalmazhat. Ebben a solution-ben csak egy projekt található: SendScheduledSms.vcxproj, és egy fájl: SendScheduledSms.cpp.
Hogyan küldj ütemezett SMS-t a C++ kóddal (Videó útmutató)
A következő videó bemutatja, hogyan ütemezhetsz SMS-t C/C++ kóddal. A videó az Ozeki SMS Gateway megnyitásával kezdődik, és az összes lépés elvégzésével egy SMS üzenet lesz a késleltetett mappában, amely vár a küldésre. Ez az 1:44 hosszú videó könnyen érthető és világosan bemutatja az összes lépést. Az Ozeki SMS Gateway irányítópultját fogod használni, amely lehetővé teszi a legfontosabb funkciók elérését egyetlen kattintással. Megtanulod, hogyan indítsd el az Ozeki SMS Gateway-t és hogyan ellenőrizd a kimenő mappát. Hogyan indítsd el a kódot és hogyan add meg az SMS küldési idejét.
Összefoglalás
Ennek a cikknek a fő funkciója az volt, hogy elmagyarázza, hogyan ütemezhetsz egy SMS-t C / C++ nyelven az Ozeki SMS Gateway HTTP SMS API felhasználójával. Ha figyelmesen olvastad az útmutatót, az SMS ütemezése C / C++ nyelven nagyon egyszerűnek kell lennie. Az információk megfelelő időben történő megosztása elengedhetetlen a leginkább hatékony munka érdekében, mert így csökkentheted az SMS forgalmat, és akkor éred el a kollégáidat, amikor éppen készen állnak az üzenetek olvasására.
Folytasd az útmutatók olvasását az Ozeki weboldalán további információkért. Merülj el más C / C++ oktatóanyagokban, mint például a Hogyan fogadj SMS-t C/C++ nyelven és még sok másban.
Most töltsd le az Ozeki SMS Gateway-t és kezdődhet a munka!
More information