Ako poslať SMS z Javy
Nasledujúca príkladová konzolová aplikácia napísaná v programovacom jazyku Java vám ukáže spôsob, ako môžete odosielať HTTP požiadavky na SMS bránu a získať aj odpoveď. Tieto HTTP požiadavky možno použiť na odosielanie SMS správ a môžete ľahko konfigurovať detaily SMS správy úpravou premenných, ktoré obsahujú všetky informácie týkajúce sa SMS správy.
Čo je Java SMS API?Java SMS API vám umožňuje implementovať SMS služby do vašej Java aplikácie. API komunikuje s SMS bránou pomocou HTTP požiadaviek, ktoré odosielajú správu a vracajú odpoveď.
Požiadavky- Nainštalované Apache NetBeans IDE 12.0
- Nainštalovaná Ozeki 10 SMS brána
- Nakonfigurovaný HTTP API používateľ
- Otvorte Apache NetBeans IDE
- Kliknite na 'Nový projekt...'
- Vytvorte novú Java aplikáciu
- Pomenujte projekt a balík
- Vytvorte novú Java triedu
- Skopírujte a vložte príkladový zdrojový kód nižšie
- Spustite Java aplikáciu
- V prípade potreby vyberte hlavnú triedu
Príklad zdrojového kódu Java SMS
Nasledujúci príklad zdrojového kódu napísaný v programovacom jazyku Java je voľne použiteľný, môžete ho jednoducho implementovať do svojho projektu alebo upraviť zdrojový kód na použitie v iných projektoch alebo aplikáciách. Ak chcete spustiť tento príkladový kód, stačí vytvoriť novú Java aplikáciu s jednou Java triedou a spustiť projekt, ako je vidieť v návode na kroky a vo videu vyššie.
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()); } } }
Krok 1 - Otvorte Apache NetBeans IDE
Prvým krokom na vytvorenie Java aplikácie, ktorá dokáže odosielať SMS správy, je otvorenie Apache NetBeans IDE vo vašom počítači. Apache NetBeans poskytuje editory, sprievodcov a šablóny, ktoré vám pomôžu vytvárať aplikácie v jazykoch Java, PHP a mnohých ďalších. Ak ste Apache NetBeans ešte nestiahli, môžete si ho stiahnuť z časti Predpoklady. Po jeho inštalácii ho stačí otvoriť z pracovnej plochy, ako je znázornené na obrázku 1.
Po otvorení Apache NetBeans IDE sa zobrazí hlavné okno. Tu môžete vytvoriť Java aplikáciu potrebnú na odosielanie SMS správ. Ako je znázornené na obrázku 2, kliknite na položku "Súbor" v paneli nástrojov a vyberte možnosť "Nový projekt...".
Ďalej sa zobrazí nové okno, ktoré obsahuje všetky typy projektov, ktoré je možné vytvoriť v Apache NetBeans. Tu môžete vytvoriť jednoduchú Java aplikáciu alebo vybrať z pokročilejších typov projektov. Pre tento príklad môžete použiť jednoduchú Java aplikáciu, takže ju vyberte zo zoznamu a ako na obrázku 3 kliknite na tlačidlo Ďalej.
V ďalšom kroku musíte vykonať základnú konfiguráciu Java aplikácie. Ako je znázornené na obrázku 4, môžete zadať názov projektu. Môžete tiež nastaviť umiestnenie projektu a nakoniec zadať názov balíka. Po dokončení konfigurácie kliknite na tlačidlo Dokončiť.
Vytvorený projekt Java aplikácie je prázdny, takže neobsahuje žiadny súbor so zdrojovým kódom, preto musíte vytvoriť jeden. Vyberte balík vášho projektu a kliknite pravým tlačidlom myši. Z rozbaľovacieho okna, ako je znázornené na obrázku 5, vyberte položku Nový a potom kliknite na "Java trieda..." pre vytvorenie novej Java triedy vo vašej aplikácii.
Pred dokončením vytvorenia Java triedy musíte zadať názov triedy. To sa dá ľahko urobiť, ako je znázornené na obrázku 6. Po zadaní správneho názvu Java triedy kliknite na tlačidlo Dokončiť pre úspešné vytvorenie Java triedy.
Ďalšou vecou, ktorú musíte urobiť, je vloženie príkladového kódu do vašej Java aplikácie. Preto prejdite na príkladový kód, skopírujte celý zdrojový kód do schránky a vložte ho do novo vytvorenej Java triedy. V tomto bode môžete spustiť Java aplikáciu, takže kliknite na tlačidlo Spustiť v paneli nástrojov. Pri prvom spustení, ako je znázornené na obrázku 7, musíte vybrať hlavnú triedu pre vykonanie. Vyberte triedu HttpApiTester a kliknite na "Vybrať hlavnú triedu".
Ak ste doteraz urobili všetko správne, aplikácia sa spustí a výsledok uvidíte v konzolovom okne, ako je znázornené na obrázku 8. Toto okno zobrazuje HTTP požiadavku, ktorá bola iniciovaná a odoslaná do SMS brány, a tiež zobrazuje odpoveď od SMS brány, ktorá indikuje, či bolo doručenie SMS správy úspešné alebo nie.
Krok 9 - Skontrolujte výsledok odoslania v Ozeki logu
V Ozeki 10 SMS Gateway môžete sledovať, aké správy boli odoslané vašou aplikáciou, pretože služba HTTP API zaznamenáva každú udalosť, ktorá nastala počas jej činnosti. Takže po otvorení SMS Gateway a výbere detailov služby HTTP API budete môcť vidieť udalosti. Ako ukazuje obrázok 9, služba zaznamenala udalosť, keď príkladová Java aplikácia odoslala HTTP požiadavku na službu.
Spôsob, akým SMS Gateway spracováva správy, môže byť tiež spätne zobrazený prostredníctvom udalostí. Preto otvorte používateľské pripojenie HTTP API, ktoré ste museli predtým nakonfigurovať. Obrázok 10 demonštruje, ako pripojenie spracováva HTTP požiadavku a odosiela správu príjemcovi, ktorého ste zadali vo vašej Java aplikácii.
V tomto článku ste sa naučili, ako posielať SMS z Javy. To znamená, že môžete implementovať SMS služby do svojich Java aplikácií. Základom tohto riešenia je Ozeki SMS Gateway. To znamená, že nebudete mať žiadne problémy s výkonom alebo oneskorením pri odosielaní SMS. Týmto spôsobom môžu vaše Java riešenia uspokojiť viac potrieb zákazníkov a budú univerzálne. Taktiež budú schopné zabezpečiť rýchlejší a jednoduchší tok informácií.
Pre lepšie pochopenie celého systému si môžete pozrieť výukové stránky Ozeki o prijímaní SMS v Jave, alebo skúste implementovať SMS služby do iných projektov. Napríklad, použite HTTP SMS API s PHP.
Ďalšou vecou je stiahnuť si Ozeki SMS Gateway a začať s vývojom hneď teraz!
More information