Jak přijímat SMS v Javě
Nejjednodušší způsob, jak odesílat SMS z Javy, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy pomocí HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu ve formátu JSON. SMS brána odešle tuto SMS příjemci a vrátí HTTP 200 OK odpověď na váš požadavek.
Java kód pro odesílání SMS na mobil
Níže uvedený Java sms kód ukazuje, jak můžete přijímat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny Java Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.
Main.javaimport Ozeki.Libs.Rest.*; public class Main { public static void main(String[] args) { var configuration = new Configuration(); configuration.Username = "http_user"; configuration.Password = "qwe123"; configuration.ApiURL = "http://127.0.0.1:9509/api"; var api = new MessageApi(configuration); var result = api.DownloadIncoming(); System.out.println(result); } }
Jak používat Java sms příklad:
Můžete použít třídu MessageApi k přijímání SMS z SMS brány. SMS brána vám bude přeposílat zprávy ze složky Doručené.
Stáhnout ReceiveSms.java
Zdrojový kód vysvětlený v tomto článku lze stáhnout a používat a upravovat zdarma.
Stáhnout: ReceiveSms.java.zip (89.6Kb)
Co obsahuje soubor ReceiveSms.java.zip?
Soubor ReceiveSms.java.zip obsahuje knihovnu Ozeki, která vám poskytuje všechny nástroje potřebné k odesílání, označování, přijímání a mazání SMS zpráv. V projektu také najdete soubor Main.java, který obsahuje ukázkový kód, který vám ukáže, jak přijímat SMS zprávy. Tento ukázkový kód je uveden níže.
Jak přijímat SMS z Javy (Rychlé kroky)
Pro přijímání SMS z Javy:
- Nainstalujte Ozeki SMS Gateway
- Připojte Ozeki SMS Gateway k mobilní síti
- Odešlete testovací SMS z Ozeki GUI
- Vytvořte HTTP SMS API uživatele
- Apache NetBeans
- Vytvořte projekt s názvem ReceiveSms
- Vložte kód do nově vytvořeného souboru Main.java nebo použijte soubor Main.java v .zip
- Vytvořte API pro přijímání zpráv
- Použijte metodu DownloadIncoming pro přijetí zprávy
- Přečtěte si odpověď na konzoli
- Zkontrolujte logy v SMS bráně
Instalace Ozeki SMS Gateway a vytvoření HTTP API uživatele
Abyste mohli odesílat, přijímat a mazat SMS z Javy, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj Java kód v Apache NetBeans. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z Ozeki GUI a ověřit, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě prostředí je vytvoření HTTP SMS API uživatele. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.
Po nastavení prostředí můžete spustit svůj Java kód.
HTTP API URL pro přijímání SMS z Javy
Pro přijímání SMS z Javy bude vaše Java aplikace muset odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Všimněte si, že IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží Java SMS aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by být použita IP adresa tohoto počítače.
http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro přijímání SMS z Javy
Pro autentizaci Java SMS klienta musíte odeslat uživatelské jméno a heslo v base64 kódovaném řetězci na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V Javě můžete použít následující kód pro toto kódování:
var usernamePassword = username + ":" + password; var encodedUsernamePassword = usernamePassword.getBytes(); return "Basic " + Base64.getEncoder().encodeToString(encodedUsernamePassword);
Například, pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', dostanete následující base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
HTTP hlavička požadavku pro přijímání SMS z Javy
Pro smazání SMS zprávy musíte do hlaviček HTTP požadavku zahrnout následující řádky. Všimněte si, že zahrnujeme hlavičku Content-Type a Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požadavek na příjem SMS z Javy
Pro smazání SMS bude vaše Java aplikace odesílat HTTP požadavek podobný tomu níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. Tělo HTTP je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprávy.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA Connection: Upgrade, HTTP2-Settings Upgrade: h2c Content-Length: 0 Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: Java-http-client/16.0.1
HTTP odpověď přijatá Java SMS příkladem
Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Také vrátí strukturu zakódovanou v JSON, která vám poskytne užitečné detaily o odeslání zprávy.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.120 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Fri, 11 Jun 2021 13:37:11 GMT Server: 10/10.3.120 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "0401f09a-5edb-4728-9bbc-0426fd9bea09", "from_connection": "http_user@localhost", "from_address": "+36201111111", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 1", "create_date": "2021-06-11 14:01:15", "valid_until": "2021-06-18 14:01:15", "time_to_send": "2021-06-11 14:01:15", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "5302e7df-18c4-4e01-82e7-181967bc8516", "from_connection": "http_user@localhost", "from_address": "+36202222222", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 2", "create_date": "2021-06-11 14:01:15", "valid_until": "2021-06-18 14:01:15", "time_to_send": "2021-06-11 14:01:15", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "95c60379-e541-4be1-b698-adfde4e425c8", "from_connection": "http_user@localhost", "from_address": "+36203333333", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 3", "create_date": "2021-06-11 14:01:15", "valid_until": "2021-06-18 14:01:15", "time_to_send": "2021-06-11 14:01:15", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] } }
Jak odeslat SMS z Javy pomocí Java SMS API (Video návod)
Toto video vám ukáže, jak vytvořit nový projekt v Apache NetBeans, jak jej pojmenovat na ReceiveSMS. Jakmile je řešení vytvořeno, můžete si všimnout, že ve vašem projektu ve složce Source Packages je složka nazvaná <default package>. Zde vytvoříte nebo vložíte soubor Main.java. Poté musíte vložit složku Ozeki do složky Source Packages a to jsou všechny přípravy, které potřebujete k přijetí SMS pomocí Javy.
Příklad přijetí SMS v Javě: Main.java
Jak ověřit, že SMS byla přijata HTTP uživatelem
Po odeslání požadavku je dobré zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele z konzole pro správu Ozeki SMS Gateway. Následující video vám ukáže, na co se zaměřit.
Shrnutí
Hlavním cílem tohoto článku bylo demonstrovat příjem SMS v Javě s pomocí Ozeki SMS Gateway. Pokud byly kroky pečlivě dodrženy, přenos zpráv z doručené pošty do Java programu uživatele nemůže být nadále problémem. Pokud chcete shromažďovat příchozí zprávy do Java programu, toto řešení je ideální způsob, jak to udělat. Ozeki SMS Gateway lze stáhnout z webových stránek Ozeki a lze jej používat zdarma během zkušebního období, takže se můžete ujistit, že tato aplikace je pro vás ta pravá.
Pokračujte ve čtení na stránce návodů Ozeki, kde najdete podobné průvodce na témata jako mazání v Javě.
Jediné, co teď zbývá udělat, je stáhnout Ozeki SMS Gateway a začít pracovat!
More information