Prefacio
Recientemente, he estado trabajando en un sistema de gestión de medidores de agua inteligente remoto. Hay una función de este proceso que se puede registrar utilizando teléfonos móviles en la página de registro. He estado buscando mucho tiempo antes de entender aproximadamente el proceso de implementación del código de verificación del teléfono móvil. Lo compartiré contigo hoy. No diré mucho a continuación, echemos un vistazo a la introducción detallada juntos.
Proceso de implementación del código de verificación de SMS
1. Construya el código de verificación del teléfono móvil: use el número aleatorio requerido por el objeto aleatorio para generar como código de verificación, como el código de verificación de 4 bits: un número aleatorio entre 1000 y 9999;
2. Use la interfaz para enviar datos de número de teléfono móvil y código de verificación a la plataforma SMS, y luego la plataforma SMS envía el código de verificación al número de teléfono móvil formulado. Los parámetros de la interfaz generalmente incluyen: Número de teléfono móvil de destino, código de verificación aleatoria (o incluido el tiempo de vencimiento), la dirección de la interfaz de la plataforma y la contraseña de la plataforma;
3. Guarde la información devuelta por la interfaz (generalmente datos de texto JSON, y luego debe convertirse en formato de objeto JSON);
4. Almacene el código de verificación de teléfono móvil y el tiempo de operación en la sesión para una verificación posterior;
5. Recibir códigos de verificación y otros datos completados por el usuario;
6. Compare si el código de verificación enviado es consistente con el código de verificación en la sesión y determine si la acción de envío está dentro del período de validez;
7. El código de verificación es correcto y dentro del período de validez, la solicitud se pasa para procesar el negocio correspondiente.
Hoy implementaremos los primeros 4 pasos:
Para simplificar el proceso, utilizamos el código de verificación de teléfono móvil fijo en lugar de números generados aleatoriamente como código de verificación
Aquí tenemos una página de front-end y una página de procesamiento de lógica de back-end. Los siguientes son dos elementos para explicar brevemente:
Página frontal
<body> <h1> <% send send = new send (); Cadena postdata = "cuenta = Jamesxt & Password = 18770918982lkx & mobile = 18770918982 & content ="+java.net.urlencoder.encode ("su código de pedido: 4557. Si necesita ayuda, comuníquese con el servicio al cliente", "UTF-8"); //out.println(postData); String Ret = send.sms (postdata, "http://sms.106jiekou.com/utf8/sms.aspx"); out.println (ret); // Deserialice la cadena devuelta usted mismo e implementa su propia lógica %> </h1> </body>PostData: son los datos pendientes que desea enviar a la plataforma de servicio SMS. Generalmente incluye el nombre de la cuenta de usuario y la contraseña del registrante de la plataforma de servicio SMS, así como el contenido completo del que desea enviar el código de verificación SMS y la información a la que pertenece el código de verificación SMS.
String Ret = send.sms (postdata, http://sms.106jiekou.com/utf8/sms.aspx);
Esto es para unir los datos al sitio web de la plataforma de servicio SMS, es decir, qué plataforma entrega los datos enviados para el procesamiento.
Clase de procesamiento de lógica de fondo:
Public Class Enviar {// Hay dos parámetros en el método SMS. Este parámetro está determinado por los PostData enviados por la página de primer plano y la dirección de servicio SMS vinculada a la primera. Public static String SMS (String PostData, String PostUrl) {try {// Enviar solicitud de solicitud url = new url (posturl); Httpurlconnection conn = (httpurlconnection) url.openconnection (); Conn.setRequestMethod ("Post"); conn.setRequestProperty ("Content-type", "Application/X-WWW-form-URLEncoded"); conn.setRequestProperty ("Conexión", "mantener alive"); conn.setUsecaches (falso); Conn.setDoOutput (verdadero); Conn.setRequestProperty ("Content-longitud", "" + postdata.length ()); OutputStreamWriter out = new OutputStreamWriter (conn.getOutputStream (), "UTF-8"); // colocar los datos enviados por el primer plano en la transmisión de salida, es decir, enviar la solicitud de servicio a la plataforma de servicio SMS out.write (postdata); out.flush (); out.close (); // Obtenga el código de estado de respuesta if (conn.getResponseCode ()! = Httpurlconnection.http_ok) {system.out.println ("¡conectar fallido!"); devolver ""; } // Obtener la línea de cadena de contenido de respuesta, resultado = ""; BufferedReader in = new BufferedReader (new InputStreamReader (conn.getInputStream (), "UTF-8")); while ((line = in.readline ())! = null) {resultado + = línea + "/n"; } in.close (); resultado de retorno; } catch (ioException e) {E.PrintStackTrace (System.out); } devolver ""; }} Finalmente, se adjunta la dirección del código fuente de demostración: http://xiazai.vevb.com/201712/yuanma/mobileregist(vevb.com).rar
La dirección del proveedor de servicios de SMS utilizada en esta demostración es: http://www.106jiekou.com/login/?returnurl=/member/trigger/templates/
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.