Cum să trimiți SMS din Java
Următoarea aplicație de consolă scrisă în limbajul de programare Java îți va arăta modul în care poți trimite cereri HTTP către SMS Gateway și să primești și mesajul de răspuns. Aceste cereri HTTP pot fi folosite pentru trimiterea mesajelor SMS și poți configura cu ușurință detaliile mesajului SMS modificând variabilele care conțin toate informațiile despre mesajul SMS.
Ce este un API Java SMS?API-ul Java SMS îți permite să implementezi servicii SMS în aplicația ta Java. API-ul comunică cu SMS Gateway folosind cereri HTTP care trimit mesajul și returnează un mesaj de răspuns.
Cerințe preliminare Trimite SMS din Java- Deschide Apache NetBeans IDE
- Apasă pe 'New project...'
- Creează o nouă aplicație Java
- Denumește proiectul și pachetul
- Creează o nouă clasă Java
- Copiază și lipește codul sursă exemplu de mai jos
- Rulează aplicația Java
- Selectează clasa principală dacă este necesar
Exemplu de cod sursă Java SMS
Următorul exemplu de cod sursă scris în limbajul de programare Java este liber de utilizat, îl poți implementa simplu în proiectul tău, sau poți modifica codul sursă pentru a-l folosi în alte proiecte sau aplicații. Dacă dorești să rulezi acest cod exemplu, trebuie doar să creezi o nouă aplicație Java cu o singură clasă Java și să rulezi proiectul așa cum poți vedea în instrucțiunile pas cu pas și în videoclipul de mai sus.
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()); } } }
Pasul 1 - Deschideți Apache NetBeans IDE
Primul pas pentru a crea o aplicație Java care poate trimite mesaje SMS este să deschideți Apache NetBeans IDE pe computerul dumneavoastră. Apache NetBeans oferă editori, asistenți și șabloane pentru a vă ajuta să creați aplicații în Java, PHP și multe alte limbaje. Dacă nu ați descărcat încă Apache NetBeans, îl puteți descărca din secțiunea Cerințe preliminare. După ce l-ați instalat, trebuie doar să-l deschideți de pe desktop, așa cum se vede în Figura 1.
După ce ați deschis Apache NetBeans IDE, acesta se deschide cu fereastra principală. Aici, puteți crea aplicația Java necesară pentru a trimite mesaje SMS. Pentru aceasta, așa cum se vede în Figura 2, faceți clic pe 'File' din bara de instrumente, iar aici, selectați opțiunea 'New project...'.
În continuare, apare o nouă fereastră care conține toate tipurile de proiecte care pot fi create în Apache NetBeans. Aici, puteți crea o simplă aplicație Java sau puteți selecta din tipuri mai avansate de proiecte. Pentru acest exemplu, puteți folosi o simplă aplicație Java, așa că selectați-o din listă și, ca în Figura 3, faceți clic pe Next.
În pasul următor, trebuie să faceți o configurare de bază pentru aplicația Java. După cum puteți vedea în Figura 4, puteți da un nume proiectului. De asemenea, puteți seta locația proiectului și, în final, puteți specifica un nume pentru pachet. Dacă ați terminat configurarea, faceți clic pe Finish.
Proiectul Java Application creat este gol, deci nu conține niciun fișier cu cod sursă, așa că trebuie să creați unul. Pentru aceasta, selectați pachetul proiectului dumneavoastră și faceți clic cu butonul drept al mouse-ului. Din fereastra care apare, așa cum arată Figura 5, selectați New, iar apoi faceți clic pe 'Java class...' pentru a crea o nouă clasă Java în aplicația dumneavoastră.
Înainte de a finaliza crearea clasei Java, trebuie să specificați un nume pentru clasă. Acest lucru poate fi făcut ușor, așa cum arată Figura 6. După ce ați dat numele corect pentru clasa Java, faceți clic pe butonul Finish pentru a crea cu succes clasa Java.
Următorul lucru pe care trebuie să-l faceți este să plasați codul exemplu în aplicația dumneavoastră Java. Pentru aceasta, derulați până la codul exemplu, copiați întregul cod sursă în clipboard și plasați-l în noua clasă Java creată. În acest moment, puteți rula aplicația Java, așa că faceți clic pe butonul Run din bara de instrumente. La prima rulare, așa cum demonstrează Figura 7, trebuie să selectați clasa principală pentru execuție. Așadar, selectați clasa HttpApiTester și faceți clic pe 'Select Main class'.
Dacă ați făcut totul corect până în acest punct, aplicația va începe și veți putea vedea rezultatul în fereastra consolă, așa cum arată Figura 8. Această fereastră afișează cererea HTTP care a fost inițiată și trimisă către SMS Gateway, și de asemenea afișează răspunsul de la SMS Gateway care indică dacă livrarea mesajului SMS a fost reușită sau nu.
Pasul 9 - Verificați rezultatul trimiterii în jurnalul Ozeki
În Ozeki 10 SMS Gateway, puteți urmări ce mesaje au fost trimise de aplicația dvs., deoarece serviciul HTTP API înregistrează fiecare eveniment care a avut loc în timpul funcționării sale. Astfel, după ce ați deschis SMS Gateway și ați selectat detaliile serviciului HTTP API, veți putea vedea evenimentele. Așa cum arată Figura 9, serviciul a înregistrat un eveniment, când aplicația Java de exemplu a trimis cererea HTTP către serviciu.
Modul în care SMS Gateway procesează mesajele poate fi, de asemenea, vizualizat prin evenimente. Pentru aceasta, deschideți conexiunea HTTP API User, pe care a trebuit să o configurați înainte. Figura 10 demonstrează cum conexiunea gestionează cererea HTTP și trimite mesajul către destinatarul pe care l-ați specificat în aplicația Java.
Ați învățat cum să trimiteți SMS din Java din acest articol. Aceasta înseamnă că puteți implementa servicii SMS în aplicațiile Java. Baza acestei soluții este Ozeki SMS Gateway. Aceasta înseamnă că nu veți avea probleme de performanță sau întârzieri în trimiterea SMS-urilor. În acest fel, soluțiile Java pot satisface mai multe nevoi ale clienților și vor fi versatile. De asemenea, va putea face fluxul de informații mult mai rapid și mai ușor.
Pentru a înțelege mai bine întregul sistem, nu ezitați să consultați paginile de tutorial Ozeki despre primirea SMS în Java, sau încercați să implementați servicii SMS în alte proiecte. De exemplu, utilizați API-ul HTTP SMS cu PHP.
Următorul lucru de făcut este să descărcați Ozeki SMS Gateway și să începeți dezvoltarea acum!
More information