Hogyan küldjünk SMS-t Java nyelven
A legegyszerűbb módja az SMS küldésének Java 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.
Java kód SMS küldésére mobiltelefonra
Az alábbi Java SMS kód minta bemutatja, hogyan küldhetsz SMS-t az Ozeki SMS Gateway http rest sms API-jával a Java 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.
Main.javaimport Ozeki.Libs.Rest.*; public class Main { public static void main(String[] args) { var configuration = new Configuration(); configuration.Username = "http_user"; configuration.Password = "qwe123"; configuration.ApiURL = "http://127.0.0.1:9509/api"; var msg = new Message(); msg.ToAddress = "+36201111111"; msg.Text = "Hello world"; var api = new MessageApi(configuration); var result = api.Send(msg); System.out.println(result); } }
Hogyan használd a Java SMS példát:
A Message osztály segítségével hozhatod létre az SMS-t, és a MessageApi osztállyal elküldheted az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobilhálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.
SendSms.java letöltése
A cikkben ismertetett forráskód letölthető, felhasználható és módosítható ingyenesen.
Letöltés: SendSms.java.zip (89.3Kb)
Mi található a SendSms.java.zip fájlban?
A SendSms.java.zip fájl tartalmazza az Ozeki könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A projektben találsz egy Main.java fájlt is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód az alábbiakban látható.
Hogyan küldjünk SMS-t Java nyelven (Gyors lépések)
Az SMS küldéséhez Java nyelven:
- Telepítsd az Ozeki SMS Gateway-t
- Kapcsold az Ozeki SMS Gateway-t a mobilhálózathoz
- Küldj egy teszt SMS-t az Ozeki grafikus felületéről
- Hozz létre egy HTTP SMS API felhasználót
- Apache NetBeans
- Hozz létre egy SendSms nevű projektet
- Helyezd a kódot egy újonnan létrehozott Main.java fájlba, vagy használd a .zip fájlban található Main.java fájlt
- Hozd létre az SMS-t egy új Message objektum létrehozásával
- Hozz létre egy API-t az üzeneted küldéséhez
- A Send metódus használatával küldd el az üzeneted
- Olvasd el a válaszüzenetet a konzolon
- Ellenőrizd a naplókat az SMS gatewayben
Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása
Ahhoz, hogy SMS-t tudj küldeni Java 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 Java kódodat fejleszted az Apache NetBeans-ban. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobilhálózathoz. Küldhetsz egy teszt SMS-t az Ozeki grafikus felületéről, hogy ellenőrizd, a mobilhálózati kapcsolatod működik-e. A környezet előkészítésének utolsó lépése, hogy létrehozol egy HTTP SMS API felhasználót. 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 Java kódodat.
HTTP API URL az SMS küldéséhez Java nyelven
Ahhoz, hogy SMS-t küldj Java nyelven, a Java alkalmazásodnak HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Figyelj arra, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét kell beírnod. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a Java 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 megadnod.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés az SMS küldéséhez Java nyelven
A Java 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ó). Java nyelven a következő kódot használhatod a kódoláshoz:
var usernamePassword = username + ":" + password; var encodedUsernamePassword = usernamePassword.getBytes(); return "Basic " + Base64.getEncoder().encodeToString(encodedUsernamePassword);
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 az SMS küldéséhez Java nyelven
Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznod fejlécben az HTTP kérésben. Figyelj arra, hogy tartalomtípust és egy Authorization fejlécet is tartalmazunk.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés az SMS küldéséhez Java nyelven
Az SMS beküldéséhez a Java 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. Az HTTP törzs egy JSON kódolású adatkarakterlánc. Tartalmazza a címzett számát és az üzenet szövegét.
POST /api?action=sendmsg HTTP/1.1 HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA Connection: Upgrade, HTTP2-Settings Upgrade: h2c Content-Length: 319 Content-Type: application/json Accept: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: Java-http-client/16.0.1 { "messages": [ { "message_id":"f5035474-77d7-4be0-9ace-14bf3105940e", "submit_report_requested":true, "view_report_requested":true, "valid_until":"2021-06-18 13:37:47", "time_to_send":"2021-06-11 13:37:47", "to_address":"+36201111111", "text":"Hello world", "create_date":"2021-06-11 13:37:47", "delivery_report_requested":true } ] }
HTTP válasz, amit a Java 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 státuszkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Ezen kívül egy JSON kódolású struktúrát is visszaad, amely hasznos részleteket nyújt az üzenet beküldéséről.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.120 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Fri, 11 Jun 2021 13:37:11 GMT Server: 10/10.3.120 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": "f5035474-77d7-4be0-9ace-14bf3105940e", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world", "create_date": "2021-06-11 13:37:47", "valid_until": "2021-06-18 13:37:47", "time_to_send": "2021-06-11 13:37:47", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Hogyan küldjünk SMS-t Java nyelven a Java SMS API használatával (Videó útmutató)
Ez a videó bemutatja, hogyan hozz létre egy új projektet az Apache NetBeans-ban, hogyan nevezd el SendSms-nek. Miután a megoldás létrejött, észreveheted, hogy a Source Packages mappában van egy <default package> nevű mappa. Ide kell létrehoznod vagy beillesztened a Main.java fájlt. Ezután be kell illesztened az Ozeki mappát a Source Packages mappába, és ez minden előkészület, amire szükséged van az SMS küldéséhez Java nyelven.
Java SMS példa: Main.java
Hogyan ellenőrizd, hogy az SMS-t elfogadta-e a HTTP felhasználó
Miután elküldted az SMS-t, érdemes ellenőrizni az SMS gatewayt, hogy lássad, mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén keresztül ellenőrizheted, ahol megnyithatod a HTTP felhasználó részleteit. A következő videó bemutatja, hogy mit kell keresned.
Hogyan ellenőrizd, hogy az SMS-t elküldte-e a mobilhálózatnak
A folyamat ellenőrzésének utolsó lépése, hogy megnézed a mobilhálózati kapcsolat naplóit. Lehet, hogy be kell kapcsolnod a naplózást a kapcsolat beállításaiban, mielőtt elküldöd az üzenetet, hogy lásd a naplókat. Ha a naplózás be van kapcsolva, látni fogod a telefonszámot és az üzenet szövegét, amit küldtél.
A naplózás bekapcsolásához a http_user-ben ugyanezeket az utasításokat kell követned.
Összegzés
Ez a cikk bemutatta az SMS küldés alapjait Java nyelven az Ozeki SMS Gateway segítségével. Ha a fenti lépéseket gondosan követted, az üzenetküldés Java nyelven nem okozhat gondot. Az Ozeki SMS Gateway nagy teljesítményt kínál, akár 1000 SMS-t is képes másodpercenként küldeni, így biztosan segíti a vállalatodat a magas színvonal fenntartásában.
Ne hagyd abba az olvasást itt, látogass el az Ozeki oktatóanyag oldalára, és tanulj még többet olyan dolgokról, mint SMS törlése Java nyelven.
Most már csak annyi a teendő, hogy letöltöd az Ozeki SMS Gateway-t és nekilátsz a munkának!
More information