Предисловие
Недавно я работаю над удаленной интеллектуальной системой управления счетчиками воды. В этом процессе есть функция, которая может быть зарегистрирована с использованием мобильных телефонов на странице регистрации. Я давно искал, прежде чем грубо пойму процесс реализации кода проверки мобильного телефона. Я поделюсь этим с вами сегодня. Я не скажу многое ниже, давайте посмотрим на подробное введение вместе.
Процесс реализации кода проверки SMS
1. Стройте код проверки мобильного телефона: используйте случайное число, необходимое случайным объектом для генерации в качестве кода проверки, такого как 4-битный код проверки: случайное число от 1000 до 9999;
2. Используйте интерфейс для отправки номера мобильного телефона и кода проверки на платформу SMS, а затем платформа SMS отправляет проверку кода на составной номер мобильного телефона. Параметры интерфейса обычно включают в себя: целевой номер мобильного телефона, код случайной проверки (или включение времени истечения), адрес интерфейса платформы и пароль платформы;
3. Сохранить информацию, возвращаемую интерфейсом (обычно текстовые данные JSON, а затем необходимо преобразовать в формат объекта JSON);
4. Храните код проверки номера мобильных телефонов и время работы в сеансе для последующей проверки;
5. Получить коды проверки и другие данные, заполненные пользователем;
6. Сравните, соответствует ли представленный код проверки с кодом проверки в сеансе, и определить, находится ли действие подачи в период достоверности;
7. Код проверки является правильным, и в течение периода достоверности запрос передается для обработки соответствующего бизнеса.
Сегодня мы реализуем первые 4 шага:
Чтобы упростить процесс, мы используем фиксированный код проверки мобильных телефонов вместо случайно сгенерированных чисел в качестве проверки кода
Здесь у нас есть линейная страница и страница обработки логики на средней части. Ниже приведены два пункта, которые можно кратко объяснить:
Фронтальная страница
<body> <h1> <% send send = new send (); String postdata = "account = jamesxt & password = 18770918982lkx & mobile = 18770918982 & content ="+java.net.urlencoder.encode ("Ваш код заказа: 4557. Если вам нужна помощь, пожалуйста, свяжитесь с обслуживанием клиентов", "UTF-8"); //out.println(postdata); String ret = send.sms (postdata, "http://sms.106jiekou.com/utf8/sms.aspx"); out.println (ret); // Пожалуйста, DeSerialize возвращаемая строка самостоятельно и реализуйте свою собственную логику %> </h1> </body>PostData: Это ожидающие данные, которые вы хотите отправить на платформу службы SMS. Как правило, он включает в себя имя учетной записи пользователя и пароль регистратора SMS Service Platform, а также полное содержание которого вы хотите отправить код проверки SMS и информацию, которой принадлежит код проверки SMS.
String ret = send.sms (postdata, http://sms.106jiekou.com/utf8/sms.aspx);
Это связано с данными на веб -сайте платформы SMS Service, то есть какой платформы для доставки представленных данных для обработки.
Класс обработки фоновой логики:
Открытый класс Send {// В методе SMS есть два параметра. Этот параметр определяется PostData, представленными на переднем плане и адресом службы SMS, связанным с первым. Public Static String Sms (String postData, String posturl) {try {// Отправить url url url url url post = new URL (posturl); Httpurlconnection conn = (httpurlconnection) url.openconcenection (); conn.setrequestmethod ("post"); conn.setrequestproperty ("content-type", "Application/xww-form-urlencoded"); conn.setrequestproperty («connection», «Keep-alive»); conn.setusecaches (false); conn.setDoOutput (true); conn.setrequestproperty ("content-juins", "" + postdata.length ()); OutputStreamWriter Out = new outputStreamWriter (conn.getOutputStream (), "UTF-8"); // Поместите данные, представленные передним планом в выходной поток, то есть отправить запрос на обслуживание на платформу SMS Service out.write (postdata); out.flush (); out.close (); // Получить код состояния ответа if (conn.getResponsecode ()! = HttpurlConnection.http_ok) {System.out.println ("Connect Fail!"); возвращаться ""; } // Получить строку содержимого ответа, result = ""; BufferedReader in = new BufferedReader (новый inputStreamReader (conn.getInputStream (), "UTF-8")); while ((line = in.readline ())! = null) {result + = line + "/n"; } in.close (); результат возврата; } catch (ioException e) {e.printstacktrace (System.out); } возвращаться ""; }} Наконец, прикреплен к демо -исходному коду.
Адрес поставщика услуг SMS, используемый в этой демонстрации: http://www.106jiekou.com/login/?returnurl=/member/trigger/templates/
Суммировать
Вышеуказанное - все содержание этой статьи. Я надеюсь, что содержание этой статьи имеет определенную справочную ценность для каждого обучения или работы. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.