Hogyan küldjünk SMS-t Javából
A következő példa konzolalkalmazás, amelyet Java programozási nyelven írtunk, bemutatja, hogyan küldhetünk HTTP kéréseket az SMS Gateway felé, és hogyan kaphatunk választ is. Ezeket az HTTP kéréseket SMS üzenetek küldésére használhatjuk, és egyszerűen konfigurálhatjuk az SMS üzenet részleteit azoknak a változóknak a módosításával, amelyek az SMS üzenetre vonatkozó összes információt tartalmazzák.
Mi az a Java SMS API?
A Java SMS API lehetővé teszi, hogy SMS szolgáltatásokat implementáljunk Java alkalmazásunkba. Az API HTTP kéréseken keresztül kommunikál az SMS Gateway-vel, amely elküldi az üzenetet és válaszüzenettel tér vissza.
Előfeltételek
SMS küldése Javából
- Nyissa meg az Apache NetBeans IDE-t
- Kattintson az 'Új projekt...' lehetőségre
- Hozzon létre egy új Java alkalmazást
- Nevezze el a projektet és a csomagot
- Hozzon létre egy új Java osztályt
- Másolja be az alábbi példa forráskódot
- Futtassa a Java alkalmazást
- Szükség esetén válassza ki a fő osztályt
Java SMS forráskód példa
A következő példa forráskód, amelyet Java programozási nyelven írtunk, szabadon felhasználható, egyszerűen implementálható a saját projektjébe, vagy módosítható más projektekhez vagy alkalmazásokhoz. Ha szeretné futtatni ezt a példakódot, csak létre kell hoznia egy új Java alkalmazást egyetlen Java osztállyal, és futtatnia kell a projektet, ahogyan azt a lépésenkénti utasításokban és a fenti videóban láthatja.
package tester; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.security.GeneralSecurityException; import java.security.cert.X509Certificate; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; public class HttpApiTester { public static void main(String[] args) { TrustManager[] trustAllCerts = new TrustManager[]{ new X509TrustManager() { @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } @Override public void checkClientTrusted( java.security.cert.X509Certificate[] certs, String authType) { } @Override public void checkServerTrusted( java.security.cert.X509Certificate[] certs, String authType) { } } }; try { SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); HostnameVerifier allHostsValid = new HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession session) { return true; } }; HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid); } catch (GeneralSecurityException e) { System.out.println(e.getMessage()); } try { StringBuilder sendString = new StringBuilder(); String username = "john"; String password = "Xc3ffs"; String messagetype = "SMS:TEXT"; String httpUrl = "https://127.0.0.1:9508/"; String recipient = URLEncoder.encode("+36201324567", "UTF-8"); String messagedata = URLEncoder.encode("TestMessage", "UTF-8"); sendString.append(httpUrl).append("api?action=sendmessage"). append("&username=").append(username).append("&password="). append(password).append("&recipient=").append(recipient). append("&messagetype=").append(messagetype).append("&messagedata="). append(messagedata); System.out.println("Sending request: " + sendString.toString()); URL url = new URL(sendString.toString()); HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("GET"); BufferedReader br = null; System.out.println("Http response received: "); if (con.getResponseCode() == 200) { br = new BufferedReader(new InputStreamReader(con.getInputStream())); String strCurrentLine; while ((strCurrentLine = br.readLine()) != null) { System.out.println(strCurrentLine); } } else { br = new BufferedReader(new InputStreamReader(con.getErrorStream())); String strCurrentLine; while ((strCurrentLine = br.readLine()) != null) { System.out.println(strCurrentLine); } } } catch (Exception ex) { System.out.println(ex.getMessage()); } } }
1. lépés - Nyissa meg az Apache NetBeans IDE-t
Az első lépés egy olyan Java alkalmazás létrehozása, amely SMS üzeneteket tud küldeni, hogy megnyitjuk az Apache NetBeans IDE-t a számítógépünkön. Az Apache NetBeans szerkesztőket, varázslókat és sablonokat biztosít, amelyek segítenek Java, PHP és sok más nyelven alkalmazásokat létrehozni. Ha még nem töltötte le az Apache NetBeans-t, letöltheti az Előfeltételek részben. A telepítés után csak meg kell nyitnia az asztalról, ahogyan az az 1. ábrán látható.
2. lépés - Hozzon létre egy új Java projektet
Miután megnyitotta az Apache NetBeans IDE-t, a főablak jelenik meg. Itt létrehozhatja azt a Java alkalmazást, amelyre szükség van az SMS üzenetek küldéséhez. Ehhez, ahogyan az a 2. ábrán látható, kattintson a 'Fájl' menüpontra az eszköztáron, és itt válassza ki az 'Új projekt...' lehetőséget.
3. lépés - Válassza ki a Java alkalmazást
Ezután egy új ablak jelenik meg, amely tartalmazza az összes olyan projekt típust, amelyet létre lehet hozni az Apache NetBeans-ben. Itt létrehozhat egy egyszerű Java alkalmazást, vagy választhat bonyolultabb típusú projektek közül is. Ehhez a példához használhatja az egyszerű Java alkalmazást, ezért válassza ki a listából, és ahogyan a 3. ábra mutatja, kattintson a Tovább gombra.
4. lépés - Konfigurálja a Java alkalmazást
A következő lépésben néhány alapvető beállítást kell elvégeznie a Java alkalmazáshoz. Ahogyan a 4. ábra mutatja, adhat nevet a projektnek. Beállíthatja a projekt helyét is, és végül megadhat egy nevet a csomagnak is. Ha befejezte a konfigurálást, csak kattintson a Befejezés gombra.
5. lépés - Hozzon létre egy új Java osztályt
A létrehozott Java alkalmazás projekt üres, tehát nem tartalmaz forráskódot tartalmazó fájlt, ezért létre kell hoznia egyet. Ehhez válassza ki a projekt csomagját, és kattintson a jobb egérgombbal. A felugró ablakból, ahogyan az az 5. ábrán látható, válassza az Új lehetőséget, majd kattintson a 'Java osztály...' lehetőségre, hogy létrehozzon egy új Java osztályt az alkalmazásában.
6. lépés - Konfigurálja a Java osztályt
A Java osztály létrehozásának befejezése előtt meg kell adnia egy nevet az osztálynak. Ez könnyen megtehető, ahogyan a 6. ábra mutatja. Miután megadta a megfelelő nevet a Java osztálynak, csak kattintson a Befejezés gombra, hogy sikeresen létrehozza a Java osztályt.
7. lépés - Illessze be a forráskódot
A következő dolog, amit meg kell tennie, hogy beilleszti a példakódot a Java alkalmazásába. Ehhez csak görgessen fel a példakódhoz, másolja ki a teljes forráskódot a vágólapra, és illessze be az újonnan létrehozott Java osztályba. Ezen a ponton már futtathatja a Java alkalmazást, ezért csak kattintson a Futtatás gombra az eszköztáron. Az első futtatáskor, ahogyan a 7. ábra mutatja, ki kell választania a fő osztályt a végrehajtáshoz. Tehát csak válassza ki a HttpApiTester osztályt, és kattintson a 'Fő osztály kiválasztása' lehetőségre.
8. lépés - Az alkalmazás eredményének megtekintése
Ha mindent helyesen végzett eddig, az alkalmazás elindul, és láthatja az eredményt a konzol ablakban, ahogyan a 8. ábra mutatja. Ez az ablak kiírja az SMS Gateway felé küldött HTTP kérést, és az SMS Gateway válaszát is, amely jelzi, hogy az SMS üzenet kézbesítése sikeres volt-e vagy sem.
9. lépés - Ellenőrizze a küldés eredményét az Ozeki naplóban
Az Ozeki 10 SMS Gateway-ben nyomon követheti, hogy az alkalmazása milyen üzeneteket küldött, mivel a HTTP API szolgáltatás naplózza minden eseményt, amely a működése során történt. Tehát, miután megnyitotta az SMS Gateway-t, és kiválasztotta a HTTP API szolgáltatás részleteit, láthatja az eseményeket. Ahogyan a 9. ábra mutatja, a szolgáltatás naplózott egy eseményt, amikor a példa Java alkalmazás HTTP kérést küldött a szolgáltatásnak.
Az SMS Gateway üzenetfeldolgozásának módját szintén visszanézheti az események alapján. Ehhez nyissa meg a HTTP API felhasználói kapcsolatot, amelyet korábban konfigurálnia kellett. A 10. ábra bemutatja, hogyan kezeli a kapcsolat az HTTP kérést, és hogyan küldi el az üzenetet a címzettnek, akit a Java alkalmazásában megadott.
Összefoglalás
Ebből a cikkből megtanulta, hogyan küldhet SMS-t Javából. Ez azt jelenti, hogy SMS szolgáltatásokat implementálhat Java alkalmazásaiba. Ennek a megoldásnak az alapja az Ozeki SMS Gateway. Ez azt jelenti, hogy nem lesznek teljesítményproblémái vagy késleltetései az SMS küldés során. Így Java megoldásai több ügyfél igényt elégíthetnek ki, és sokoldalúbbak lesznek. Emellett az információáramlás is gyorsabbá és könnyebbé válik.
A rendszer jobb megértéséhez nyugodtan tekintse meg az Ozeki oktatóoldalait az SMS fogadásáról Javában, vagy próbálja meg implementálni az SMS szolgáltatásokat más projektekben. Például, használja az HTTP SMS API-t PHP-val.
A következő lépés az, hogy letölti az Ozeki SMS Gateway-t és azonnal elkezdheti a fejlesztést!
More information