Hogyan kapjunk 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, HTTP POST kérést küldesz az SMS gatewaynek. A HTTP POST kérés egy JSON formátumú üzenetet tartalmaz. 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 mobilra
Az alábbi Java SMS kód minta bemutatja, hogyan lehet SMS-t fogadni 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ő, és bármilyen projektben felhasználható és módosítható.
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 api = new MessageApi(configuration); var result = api.DownloadIncoming(); System.out.println(result); } }
Hogyan használd a Java SMS példát:
A MessageApi osztály segítségével fogadhatod az SMS-t az SMS gatewaytől. Az SMS gateway továbbítja az üzeneteket a Beérkezett mappából.
ReceiveSms.java letöltése
A cikkben ismertetett forráskód letölthető, felhasználható és módosítható ingyenesen.
Letöltés: ReceiveSms.java.zip (89.6Kb)
Mi található a ReceiveSms.java.zip fájlban?
A ReceiveSms.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, jelöléséhez, fogadásához és törléséhez. A projektben találsz egy Main.java fájlt is, amely tartalmazza a példakódot, amely bemutatja, hogyan fogadj SMS-eket. Ez a példakód az alábbiakban látható.
Hogyan kapjunk SMS-t Java nyelven (Gyors lépések)
Az SMS fogadásához Java nyelven:
- Telepítsd az Ozeki SMS Gateway-t
- Kapcsold az Ozeki SMS Gateway-t a mobil hálózathoz
- Küldj egy teszt SMS-t az Ozeki GUI-ból
- Hozz létre egy HTTP SMS API felhasználót
- Apache NetBeans
- Hozz létre egy ReceiveSms 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
- Hozz létre egy API-t az üzenetek fogadásához
- A DownloadIncoming metódussal fogadd 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 Java nyelven tudj SMS-eket küldeni, fogadni és törölni, 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-ben. 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, hogy ellenőrizd, a mobil hálózati kapcsolat 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 fogadásához Java nyelven
Ahhoz, hogy SMS-t fogadj Java nyelven, a Java 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 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 megadni.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés az SMS fogadásához Java nyelven
A Java SMS kliens hitelesítéséhez a felhasználónevet és a jelszót egy base64 kódolt sztringben kell elküldeni a szervernek egy HTTP kérésben. A formátum: base64(username+":"+password). 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ódolt sztringet kapod: aHR0cF91c2VyOnF3ZTEyMw==.
HTTP kérés fejléc az SMS fogadásához Java nyelven
Az SMS üzenet törléséhez a következő sorokat kell belefoglalni a fejlécbe az HTTP kérésben. Figyeld meg, hogy tartalmazunk egy content type és egy Authorization fejlécet.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés SMS fogadásához Java nyelven
Az SMS törléséhez a Java alkalmazásod egy olyan HTTP kérést küld, mint az alábbi. Figyeld meg, 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ódolt adatsztring. Tartalmazza a címzett számát és az üzenet szövegét.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA Connection: Upgrade, HTTP2-Settings Upgrade: h2c Content-Length: 0 Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: Java-http-client/16.0.1
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, ami jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Egy JSON kódolt 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.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": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "0401f09a-5edb-4728-9bbc-0426fd9bea09", "from_connection": "http_user@localhost", "from_address": "+36201111111", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 1", "create_date": "2021-06-11 14:01:15", "valid_until": "2021-06-18 14:01:15", "time_to_send": "2021-06-11 14:01:15", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "5302e7df-18c4-4e01-82e7-181967bc8516", "from_connection": "http_user@localhost", "from_address": "+36202222222", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 2", "create_date": "2021-06-11 14:01:15", "valid_until": "2021-06-18 14:01:15", "time_to_send": "2021-06-11 14:01:15", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "95c60379-e541-4be1-b698-adfde4e425c8", "from_connection": "http_user@localhost", "from_address": "+36203333333", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 3", "create_date": "2021-06-11 14:01:15", "valid_until": "2021-06-18 14:01:15", "time_to_send": "2021-06-11 14:01:15", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] } }
Hogyan küldjünk SMS-t Java nyelven a Java SMS API segítségével (Videó útmutató)
Ez a videó bemutatja, hogyan hozz létre egy új projektet az Apache NetBeans-ben, hogyan nevezd el ReceiveSMS-re. Miután a projekt létrejött, észreveheted, hogy a Source Packages mappában van egy <default package> nevű mappa. Ide kell létrehozni vagy beilleszteni a Main.java fájlt. Ezután be kell illeszteni az Ozeki mappát a Source Packages mappába, és ez minden előkészület, ami szükséges az SMS fogadásához Java nyelven.
Java SMS fogadás példa: Main.java
Hogyan ellenőrizd, hogy az SMS-t elfogadta-e az HTTP felhasználó
Miután elküldted a kérést, érdemes ellenőrizni az SMS gatewayt, hogy lássad, mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén az HTTP felhasználó részleteinek megnyitásával ellenőrizheted. A következő videó bemutatja, hogy mire kell figyelni.
Összefoglalás
Ennek a cikknek a fő célja az volt, hogy bemutassa az SMS fogadását Java nyelven az Ozeki SMS Gateway segítségével. Ha figyelmesen követted a lépéseket, az üzenetek továbbítása a Beérkezett mappából a Java programodba már nem lehet probléma. Ha a beérkező üzeneteket egy Java programba szeretnéd gyűjteni, ez a megoldás tökéletes módja ennek. Az Ozeki SMS Gateway letölthető az Ozeki weboldaláról, és próbaidőszakban ingyenesen használható, így biztos lehetsz benne, hogy ez az alkalmazás neked való.
Folytasd az olvasást az Ozeki útmutató oldalán, hasonló útmutatók találhatók olyan témákban, mint törlés Java nyelven.
Most már csak annyi a teendő, hogy letöltöd az Ozeki SMS Gateway-t és elkezded a munkát!
More information