Jak wysłać SMS z Javy
Poniższa przykładowa aplikacja konsolowa napisana w języku programowania Java pokaże Ci, jak możesz wysyłać żądania HTTP do Bramki SMS i otrzymywać wiadomość odpowiedzi. Te żądania HTTP mogą być używane do wysyłania wiadomości SMS, a szczegóły wiadomości SMS można łatwo skonfigurować, modyfikując zmienne zawierające wszystkie informacje dotyczące wiadomości SMS.
Co to jest Java SMS API?
Java SMS API umożliwia wdrożenie usług SMS w Twojej aplikacji Java. API komunikuje się z Bramką SMS za pomocą żądań HTTP, które wysyłają wiadomość i zwracają odpowiedź.
Wymagania wstępne
- Zainstalowane Apache NetBeans IDE 12.0
- Zainstalowana Bramka SMS Ozeki 10
- Skonfigurowane konto użytkownika HTTP API
Wysyłanie SMS z Javy
- Otwórz Apache NetBeans IDE
- Kliknij „Nowy projekt...”
- Utwórz nową aplikację Java
- Nazwij projekt i pakiet
- Utwórz nową klasę Java
- Skopiuj i wklej przykładowy kod źródłowy poniżej
- Uruchom aplikację Java
- W razie potrzeby wybierz klasę główną
Przykładowy kod źródłowy Java SMS
Poniższy przykładowy kod źródłowy napisany w języku programowania Java jest darmowy do użycia, możesz go łatwo zaimplementować w swoim projekcie lub zmodyfikować kod źródłowy, aby użyć go w innych projektach lub aplikacjach. Jeśli chcesz uruchomić ten przykładowy kod, wystarczy utworzyć nową aplikację Java z pojedynczą klasą Java i uruchomić projekt, jak widać w instrukcjach krok po kroku i filmie powyżej.
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 - Otwórz Apache NetBeans IDE
Pierwszym krokiem do stworzenia aplikacji Java, która może wysyłać wiadomości SMS, jest otwarcie Apache NetBeans IDE na twoim komputerze. Apache NetBeans dostarcza edytory, kreatory i szablony, które pomagają w tworzeniu aplikacji w językach Java, PHP i wielu innych. Jeśli jeszcze nie pobrałeś Apache NetBeans, możesz to zrobić w sekcji Wymagania wstępne. Po zainstalowaniu wystarczy otworzyć program z pulpitu, jak pokazano na Rysunku 1.
Krok 2 - Utwórz nowy projekt Java
Po otwarciu Apache NetBeans IDE pojawia się główne okno. Tutaj możesz stworzyć aplikację Java potrzebną do wysyłania wiadomości SMS. W tym celu, jak pokazano na Rysunku 2, kliknij „Plik” na pasku narzędzi, a następnie wybierz opcję „Nowy projekt...”.
Krok 3 - Wybierz aplikację Java
Następnie pojawia się nowe okno zawierające wszystkie typy projektów, które można utworzyć w Apache NetBeans. Tutaj możesz stworzyć prostą aplikację Java lub wybrać bardziej zaawansowane typy projektów. W tym przykładzie możesz użyć prostej aplikacji Java, więc wybierz ją z listy i, jak na Rysunku 3, kliknij Dalej.
Krok 4 - Skonfiguruj aplikację Java
W kolejnym kroku musisz wykonać podstawową konfigurację aplikacji Java. Jak widać na Rysunku 4, możesz nadać nazwę projektowi, ustawić jego lokalizację oraz określić nazwę pakietu. Po zakończeniu konfiguracji kliknij Zakończ.
Krok 5 - Utwórz nową klasę Java
Utworzony projekt aplikacji Java jest pusty, więc nie zawiera żadnego pliku z kodem źródłowym. Musisz go utworzyć. W tym celu wybierz pakiet projektu i kliknij prawym przyciskiem myszy. Z menu podręcznego, jak pokazano na Rysunku 5, wybierz Nowy, a następnie kliknij „Klasa Java...”, aby utworzyć nową klasę w aplikacji.
Krok 6 - Skonfiguruj klasę Java
Przed zakończeniem tworzenia klasy Java musisz określić jej nazwę. Można to łatwo zrobić, jak pokazano na Rysunku 6. Po nadaniu odpowiedniej nazwy klasie kliknij przycisk Zakończ, aby pomyślnie utworzyć klasę Java.
Krok 7 - Wklej kod źródłowy
Następnie musisz umieścić przykładowy kod w swojej aplikacji Java. W tym celu przewiń do przykładowego kodu, skopiuj cały kod źródłowy do schowka i wklej go do nowo utworzonej klasy Java. W tym momencie możesz uruchomić aplikację Java, klikając przycisk Uruchom na pasku narzędzi. Przy pierwszym uruchomieniu, jak pokazano na Rysunku 7, musisz wybrać klasę główną do wykonania. Wybierz klasę HttpApiTester i kliknij „Wybierz klasę główną”.
Krok 8 - Zobacz wynik działania aplikacji
Jeśli do tego momentu wszystko zrobiłeś poprawnie, aplikacja się uruchomi, a wynik będzie widoczny w oknie konsoli, jak pokazano na Rysunku 8. To okno wyświetla żądanie HTTP, które zostało zainicjowane i wysłane do bramki SMS, a także odpowiedź z bramki SMS, która wskazuje, czy dostarczenie wiadomości SMS zakończyło się sukcesem.
W Ozeki 10 SMS Gateway możesz śledzić wiadomości wysłane przez Twoją aplikację, ponieważ usługa HTTP API rejestruje każde zdarzenie, które wystąpiło podczas jej działania. Po otwarciu SMS Gateway i wybraniu szczegółów usługi HTTP API, będziesz mógł zobaczyć zdarzenia. Jak pokazuje Rysunek 9, usługa zarejestrowała zdarzenie, gdy przykładowa aplikacja Java wysłała żądanie HTTP do usługi.
Sposób, w jaki SMS Gateway przetwarza wiadomości, można również prześledzić za pomocą zdarzeń. W tym celu otwórz połączenie użytkownika HTTP API, które wcześniej musiałeś skonfigurować. Rysunek 10 pokazuje, jak połączenie obsługuje żądanie HTTP i wysyła wiadomość do odbiorcy, którego określiłeś w swojej aplikacji Java.
Podsumowanie
Z tego artykułu nauczyłeś się, jak wysyłać SMS-y z Javy. Oznacza to, że możesz wdrożyć usługi SMS w swoich aplikacjach Java. Podstawą tego rozwiązania jest Ozeki SMS Gateway. Oznacza to, że nie będziesz miał problemów z wydajnością ani opóźnieniami w wysyłaniu SMS-ów. W ten sposób Twoje rozwiązania Java mogą zaspokoić więcej potrzeb klientów i będą bardziej wszechstronne. Ponadto umożliwią szybszy i łatwiejszy przepływ informacji.
Aby lepiej zrozumieć cały system, zapoznaj się z stronami tutorialowymi Ozeki dotyczącymi odbierania SMS-ów w Javie, lub spróbuj wdrożyć usługi SMS w innych projektach. Na przykład, użyj HTTP SMS API z PHP.
Kolejnym krokiem jest pobranie Ozeki SMS Gateway i rozpoczęcie rozwoju już teraz!
More information