Страницы

Поиск по вопросам

пятница, 19 октября 2018 г.

Как послать SMS на определенный номер?

Приложение должно иметь возможность послать SMS на определенный номер.
Как может выглядеть реализация такой возможности?


Ответ

Используя Api смс агрегатора. Get или Post запросом на их сервер:
http://смс.агрегатор/messages/v2/send/?phone=%2B71234567890&text=test
Для отправки Http запроса можно использовать HttpUrlConnector из пакетов java, либо HttpClient от Apache, либо любой другой удобной вам реализацией.
Конкретные условия Rest Api смотрите у агрегатора (гугл найдет вам всех, рекламировать не хочу)

Пример с Url java:
URL myUrl = new URL("http://смс.агрегатор/messages/v2/send/?phone=%2B71234567890&text=test"); HttpURLConnection myUrlCon = (HttpURLConnection) myUrl.openConnection();
дальше получаете поток для чтения ответа и читаете:
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); String line; while ((line = bufferedReader.readLine()) != null){ content.append(line + "
"); }
И что-то делаете с ответом.

HttpClient от Apache :
String url = "http://смс.агрегатор/messages/v2/send/?phone=%2B71234567890&text=test";
HttpClient client = HttpClientBuilder.create().build(); HttpGet request = new HttpGet(url);
BufferedReader rd = new BufferedReader( new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer(); String line = ""; while ((line = rd.readLine()) != null) { result.append(line); }

Комментариев нет:

Отправить комментарий