Kako poslati SMS iz Java

Naslednja primer konzolne aplikacije, napisane v programskem jeziku Java, vam bo pokazala, kako lahko pošiljate HTTP zahteve do SMS prehoda in prejmete odzivno sporočilo. Te HTTP zahteve lahko uporabite za pošiljanje SMS sporočil in lahko preprosto konfigurirate podrobnosti SMS sporočila z spreminjanjem spremenljivk, ki vsebujejo vse informacije o SMS sporočilu.

Kaj je Java SMS API?

Java SMS API vam omogoča implementacijo SMS storitev v vašo Java aplikacijo. API komunicira z SMS prehodom z uporabo HTTP zahtev, ki pošljejo sporočilo in vrnejo odzivno sporočilo.

Predpogoji Pošlji SMS iz Java
  • Odprite Apache NetBeans IDE
  • Kliknite na 'Nov projekt...'
  • Ustvarite novo Java aplikacijo
  • Poimenujte projekt in paket
  • Ustvarite nov razred Java
  • Kopirajte in prilepite primer izvorne kode spodaj
  • Zaženite Java aplikacijo
  • Po potrebi izberite glavni razred

Video 1 - Kako poslati SMS iz JAVA (Video vadnica)

Primer izvorne kode Java SMS

Naslednji primer izvorne kode, napisan v programskem jeziku Java, je prosto dostopen, lahko ga preprosto implementirate v svoj projekt ali pa spremenite izvorno kodo za uporabo v drugih projektih ali aplikacijah. Če želite zagnati ta primer kode, morate samo ustvariti novo Java aplikacijo z enim samim razredom Java in zagnati projekt, kot lahko vidite v navodilih korakov in videu zgoraj.

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());
        }
    }
}

Korak 1 - Odprite Apache NetBeans IDE

Prvi korak pri ustvarjanju Java aplikacije, ki lahko pošilja SMS sporočila, je, da odprete Apache NetBeans IDE na svojem računalniku. Apache NetBeans ponuja urejevalnike, čarovnike in predloge, ki vam pomagajo ustvariti aplikacije v Javi, PHP in številnih drugih jezikih. Če še niste prenesli Apache NetBeans, ga lahko prenesete iz razdelka Predpogoji. Ko ga namestite, ga morate samo odpreti z namizja, kot je prikazano na sliki 1.

odprite apache netbeans ide
Slika 1 - Odprite Apache NetBeans IDE

Korak 2 - Ustvarite nov Java projekt

Ko odprete Apache NetBeans IDE, se prikaže glavno okno. Tukaj lahko ustvarite Java aplikacijo, ki je potrebna za pošiljanje SMS sporočil. Za to, kot je prikazano na sliki 2, kliknite na 'File' v orodni vrstici in izberite možnost 'New project...'.

ustvari nov java projekt
Slika 2 - Ustvari nov Java projekt

Korak 3 - Izberite Java aplikacijo

Nato se prikaže novo okno, ki vsebuje vse vrste projektov, ki jih je mogoče ustvariti v Apache NetBeans. Tukaj lahko ustvarite preprosto Java aplikacijo ali izberete med naprednejšimi vrstami projektov. Za ta primer lahko uporabite preprosto Java aplikacijo, zato jo izberite s seznama in kot na sliki 3 kliknite Naprej.

izberi vrsto java aplikacije
Slika 3 - Izberi vrsto Java aplikacije

Korak 4 - Konfigurirajte Java aplikacijo

V naslednjem koraku morate opraviti nekaj osnovnih nastavitev za Java aplikacijo. Kot je prikazano na sliki 4, lahko določite ime projekta. Prav tako lahko nastavite lokacijo projekta in na koncu določite ime paketa. Ko končate z nastavitvami, kliknite na Končaj.

izberi ime projekta in paket
Slika 4 - Izberi ime projekta in paket

Korak 5 - Ustvarite novo Java razred

Ustvarjeni Java projekt je prazen, zato ne vsebuje nobene datoteke s izvorno kodo, zato jo morate ustvariti. Za to izberite paket vašega projekta in kliknite z desno miškino tipko. V pojavnem oknu, kot prikazuje slika 5, izberite Novo in nato kliknite na 'Java class...', da ustvarite nov Java razred v vaši aplikaciji.

ustvari nov razred
Slika 5 - Ustvari nov razred

Korak 6 - Konfigurirajte Java razred

Preden dokončate ustvarjanje Java razreda, morate določiti ime za razred. To je enostavno narediti, kot prikazuje slika 6. Ko določite pravo ime za Java razred, kliknite na gumb Končaj, da uspešno ustvarite Java razred.

dajte novemu razredu ime
Slika 6 - Dajte novemu razredu ime

Korak 7 - Prilepite izvorno kodo

Naslednja stvar, ki jo morate storiti, je, da v svojo Java aplikacijo vstavite primer kode. Za to se pomaknite do primer kode, kopirajte celotno izvorno kodo v svojo odložišče in jo vstavite v novoustvarjeni Java razred. Na tej točki lahko zaženete Java aplikacijo, zato kliknite na gumb Zaženi v orodni vrstici. Ob prvem zagonu, kot prikazuje slika 7, morate izbrati glavni razred za izvedbo. Izberite razred HttpApiTester in kliknite na 'Select Main class'.

prilepite kodo iz spletne strani, nato izberite glavni razred
Slika 7 - Prilepite kodo iz spletne strani, nato izberite glavni razred

Korak 8 - Oglejte si rezultat aplikacije

Če ste do te točke vse naredili pravilno, se bo aplikacija zagnala in rezultat boste videli v oknu konzole, kot prikazuje slika 8. To okno prikaže HTTP zahtevo, ki je bila poslana SMS prehodu, in tudi odgovor SMS prehoda, ki nakazuje, ali je bila dostava SMS sporočila uspešna ali ne.

program se zažene in prikaže rezultat
Slika 8 - Program se zažene in prikaže rezultat

Korak 9 - Preverite rezultat pošiljanja v dnevniku Ozeki

V Ozeki 10 SMS Gateway lahko spremljate, katere sporočila je poslala vaša aplikacija, saj storitev HTTP API beleži vsak dogodek, ki se zgodi, ko je omogočena. Ko odprete SMS Gateway in izberete podrobnosti storitve HTTP API, boste lahko videli dogodke. Kot prikazuje slika 9, je storitev zabeležila dogodek, ko je primer Java aplikacije poslal HTTP zahtevo storitvi.

preverite dnevnike storitve HTTP API
Slika 9 - Preverite dnevnike storitve HTTP API

Način obdelave sporočil v SMS Gateway lahko spremljate tudi prek dogodkov. Za to odprite povezavo uporabnika HTTP API, ki ste jo morali prej konfigurirati. Slika 10 prikazuje, kako povezava obdela HTTP zahtevo in pošlje sporočilo prejemniku, ki ste ga določili v vaši Java aplikaciji.

preverite dnevnike uporabnika HTTP API
Slika 10 - Preverite dnevnike uporabnika HTTP API

Povzetek

Iz tega članka ste se naučili, kako poslati SMS iz Java. To pomeni, da lahko v svoje Java aplikacije vključite storitve SMS. Osnova te rešitve je Ozeki SMS Gateway. To pomeni, da ne boste imeli težav z zmogljivostjo ali zakasnitvami pri pošiljanju SMS. Na ta način lahko vaše Java rešitve zadovoljijo več potreb strank in bodo vsestranske. Prav tako bodo omogočile hitrejši in lažji pretok informacij.

Za boljše razumevanje celotnega sistema si oglejte Ozeki učne strani o prejemanju SMS v Java, ali poskusite implementirati storitve SMS v druge projekte. Na primer, uporabite HTTP SMS API s PHP.

Naslednja stvar, ki jo morate storiti, je prenesite Ozeki SMS Gateway in začnite z razvojem že zdaj!

More information