Функция отправки кодов проверки SMS использует интерфейс SMS -платформы SMSITONG, а затем использует httpClient для моделирования запросов на публикацию или получения запросов в Java (см. Требования SMS -платформы, которые обычно являются запросами POST), и вызывает интерфейс, предоставляемый платформой SMS (просто следуйте спецификациям интерфейса платформы SMS). Зависит от кода:
При использовании httpclient вам нужно представить его в проекте:
Commons-Httpclient-3.1.jar
Этот банок пакет,
Структура проекта:
1. Создайте класс инструментов для запросов на моделирование HTTP, а затем напишите метод POST или метод получить
/*** Файл Описание* @description: расширенное описание* @copyright: 2015 Dreamtech.com.cn Inc. Все правые зарезервированы* @version: v6.0*/package com.demo.util; import java.io.ioexception; импорт java.util.map; org.apache.commons.httpclient.httpclient; import org.apache.commons.httpclient.httpexception; import org.apache.commons.httpclient.simplehttpconnectionmanager; import org.apache.commons.httpclient.methods.getmethod; org.apache.commons.httpclient.methods.postmethod;/** * @author: feizi * @date: 17 апреля 2015 года в 9:26:34 * @modifyuser: feizi * @modifydate: 17 апреля 2015 г. Httpclient смоделированное запрос сообщения * Способность * Описание * @discription: расширенное описание * @param url * @param params * @return string * @author: feizi * @date: 17 апреля 2015 в 7:15:59 * @modifyuser: feizi * @modifydate: 17 апреля 2015 года в 7:15:59. Map <string, string> params) {// Создание экземпляра httpclient httpclient httpclient httpclient = new httpclient (); // Создать экземпляр метода POST Postmethod postmethod = new Postmethod (url); // Установить информацию заголовка запроса postmethod.setrequestheader ("connection", "close"); // Добавить параметры для (map.Entry <string, string> intpirt: params.entryset ()) {postmethod.addparameter (entry.getkey (), intry.getValue ()); } // Использование стратегии восстановления по умолчанию, предоставленной системой для установки обработки повторного запроса, используя обработку повторной проверки по умолчанию: Запрос три раза httpclient.getParams (). SetBooleAnparameter ("http.protocol.expect-continue", false); // получение результатов обработки string result = null; try {// выполнить http post request httpclient.executemethod (postmethod); // return обработка результат результата = postmethod.getResponseBodyAssTring (); } catch (httpexception e) {// произошло фатальное исключение, которое может быть связано с несоответствующим протоколом или проблемой с возвращенной системой контента.out.println («Пожалуйста, проверьте введенный URL!»); e.printstacktrace (); } catch (ioException e) {// Сетевое исключение произошло System.out.println ("Сетевое исключение произошло!"); e.printstacktrace (); } наконец {// выпустить ссылку postmethod.releaseconnection (); // Закройте экземпляр httpclient if (httpclient! = Null) {(simplehttpconnectionmanager) httpclient.gethttpconnectionmanager ()). Shutdown (); httpclient = null; }} return result; } / ** * httpclient моделирует запрос GET * Описание метода * @discription: расширение Описание * @param url * @param params * @return String * @author: feizi * @date: 17 апреля 2015 в 7:15:28 * @modifyuser: feizi * @modifydate: 17 апреля 2015 года. getRequest (string url, map <string, string> params) {// construct httpclient ancement httpclient client = new httpclient (); // разделить параметры string paramstr = ""; for (string key: params.keyset ()) {paramstr = paramstr + "&" + key + "=" + params.get (key); } paramstr = paramstr.substring (1); // Создание экземпляра метода GET GETMethod Method = new getMethod (url + "?" + Paramstr); // получение результата возврата Result Result = null; try {// выполнить http get method Quest client.executemethod (method); // возвращать результат обработки результат = method.getResponseBodyAssTring (); } catch (httpexception e) {// произошло фатальное исключение, что может быть в том, что протокол неверен или что -то не так с возвращенной системой контента.out.println («Пожалуйста, проверьте введенный URL!»); e.printstacktrace (); } catch (ioException e) {// Сетевое исключение произошло System.out.println ("Сетевое исключение произошло!"); e.printstacktrace (); } наконец {// Выпуск ссылки Method.ReleAseConnection (); // Закройте экземпляр httpclient if (client! = Null) {(simplehttpconnectionmanager) client.gethttpconnectionmanager ()). Shutdown (); client = null; }} return result; }}2. Создайте класс, генерируйте код проверки, а затем передайте соответствующие параметры (различные интерфейсы платформы SMS будут иметь разные требования к параметрам. Эта общая платформа SMS предоставляет интерфейсные документы. Просто посмотрите на документ, а затем следуйте требованиям)
/*** Описание файла* @description: расширенное описание* @copyright: 2015 dreamtech.com.cn Inc. все правые зарезервированы* @version: v6.0*/package com.demo.util; импорт java.net.urlencoder; import java.util.hashmap; import java.til.map;/*** @author.hashmap; java.util.map;/*** 9:24:48 AM * @modifyuser: feizi * @modifydate: 17 апреля 2015 года в 9:24:48 AM * @version: v6.0 * /public class sendmsgutil { /** * Отправить сообщение * @return. 2015 в 7:18:08 вечера * @modifyuser: feizi * @modifydate: 17 апреля 2015 года в 7:18:08 */@suppresswarnings ("Tempercation") Public Static String Sendmsg (строковые телефоны, строковое содержимое) {// SMS -интерфейс -адрес URL -адрес url url = "SMS -интерфейс URSISSERD -адрес) Map <string, string> params = new hashmap <string, string> (); Params.put ("ZH", "Account"); params.put ("mm", "пароль пользователя"); params.put ("dxlbid", "номер категории SMS"); params.put ("extno", "extno"); // Номер мобильного телефона, несколько чисел делятся с использованием английского запятой params.put ("hm", телефоны); // пользователь кодирует содержимое SMS с помощью url params.put ("nr", urlencoder.encode (content)); вернуть httprequestutil.getRequest (url, params); } / ** * Случайно генерировать 6-битный код случайной проверки * Описание метода * @discription: расширенное описание * @return * @return String * @author: feizi * @date: 17 апреля 2015 года в 7:19:02 PM * @ModifyUser: feizi * @modifydate: 17 апреля 2015 г. // vertification код строка vcode = ""; for (int i = 0; i <6; i ++) {vcode = vcode+(int) (math.random () * 9); } return vcode; }/** * Тест * Метод Описание * @discription: расширенное описание * @param args * @return void * @author: feizi * @date: 17 апреля 2015 года в 7:26:36 вечера * @modifyuser: feizi * @modifydate: 17 апреля 2015 года в 7:26:36 Pm */public void void (String] Args). System.out.println (sendmsgutil.createrandomvcode ()); // system.out.println ("& ecb = 12" .substring (1)); System.out.println (sendmsg («18123456789,15123456789», «Уважаемый пользователь, ваш код проверки" + sendmsgutil.createrandomvcode () + ", действительный в течение 60 секунд. Если у вас есть какие-либо вопросы, пожалуйста, спросите 400-069-2886 (номер телефона обслуживания клиента) [xxx Center]"); ");"); ")") ");"); ")") ");"); ")"); ")"); ")"); ")"); ");") ")") ")") ")") "); }}Затем выполнить это. Как правило, если параметры передаются правильно, и если интерфейсный документ работает в соответствии со спецификациями, отправка будет успешной, а мобильный телефон будет получать код проверки. Проблема, которая может возникнуть, заключается в том, что содержание отправленного текстового сообщения может иметь китайский искаженный код, а отправка будет безуспешной. Соответствующее кодирование будет выполняться в соответствии с требованиями платформы текстовых сообщений. Обычно это кодирование UTF-8.
Полный код: sendmassage
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.