Préface
Récemment, j'ai travaillé sur un système de gestion des compteurs d'eau intelligente éloignée. Il existe une fonction de ce processus qui peut être enregistré à l'aide de téléphones mobiles sur la page d'enregistrement. Je recherche depuis longtemps avant de comprendre grossièrement le processus d'implémentation du code de vérification du téléphone mobile. Je vais le partager avec vous aujourd'hui. Je ne dirai pas beaucoup ci-dessous, jetons un coup d'œil à l'introduction détaillée ensemble.
Processus d'implémentation du code de vérification SMS
1. Construire le code de vérification du téléphone mobile: Utilisez le nombre aléatoire requis par l'objet aléatoire pour générer comme code de vérification, tel que le code de vérification 4 bits: un nombre aléatoire entre 1000 et 9999;
2. Utilisez l'interface pour envoyer le numéro de téléphone mobile et les données de code de vérification sur la plate-forme SMS, puis la plate-forme SMS envoie le code de vérification au numéro de téléphone mobile formulé. Les paramètres d'interface incluent généralement: le numéro de téléphone mobile cible, le code de vérification aléatoire (ou y compris le temps d'expiration), l'adresse d'interface de la plate-forme et le mot de passe de la plate-forme;
3. Enregistrer les informations renvoyées par l'interface (généralement les données de texte JSON, puis doit être convertie au format d'objet JSON);
4. Stockez le code de vérification du numéro de téléphone mobile et le temps de fonctionnement de la session pour une vérification ultérieure;
5. Recevoir des codes de vérification et d'autres données remplies par l'utilisateur;
6. Comparez si le code de vérification soumis est cohérent avec le code de vérification de la session et déterminez si l'action de soumission se situe dans la période de validité;
7. Le code de vérification est correct et dans la période de validité, la demande est adoptée pour traiter l'entreprise correspondante.
Aujourd'hui, nous allons mettre en œuvre les 4 premières étapes:
Pour simplifier le processus, nous utilisons le code de vérification du téléphone mobile fixe au lieu de numéros générés aléatoirement comme code de vérification
Ici, nous avons une page frontale et une page de traitement logique back-end. Voici deux éléments à expliquer brièvement:
Page frontale
<body> <h1> <% Send Send = new Send (); String postdata = "Account = Jamesxt & Password = 18770918982lkx & mobile = 18770918982 & content =" + java.net.urlencoder.encode ("Votre code de commande: 4557. Si vous avez besoin d'aide, veuillez contacter le service client.", "UTF-8"); //out.println(postData); String ret = send.sms (postdata, "http://sms.106jiekou.com/utf8/sms.aspx"); out.println (ret); // veuillez désérialiser vous-même la chaîne retournée et implémenter votre propre logique%> </h1> </body>Postdata: Ce sont les données en attente que vous souhaitez soumettre à la plate-forme de service SMS. Il inclut généralement le nom du compte utilisateur et le mot de passe du SMS Service Platform Insrupteur, ainsi que le contenu complet de qui vous souhaitez envoyer le code de vérification SMS et les informations auxquelles appartient le code de vérification SMS.
String ret = Send.sms (postdata, http://sms.106jiekou.com/utf8/sms.aspx);
Il s'agit de lier les données au site Web de la plate-forme de service SMS, c'est-à-dire quelle plate-forme pour livrer les données soumises pour le traitement.
Classe de traitement de la logique de fond:
classe publique Envoyer {// il y a deux paramètres dans la méthode SMS. Ce paramètre est déterminé par le postdata soumis par la page de premier plan et l'adresse du service SMS lié à la première. String statique publique SMS (chaîne postdata, chaîne postul) {try {// envoyer une requette post URL = new url (postul); HttpurlConnection conn = (httpurlconnection) url.openconnection (); Conn.SetRequestMethod ("Post"); Conn.SetRequestProperty ("Content-Type", "Application / X-Www-Form-Urlencoded"); Conn.SetRequestProperty ("Connexion", "Keep-Alive"); Conn.SetUseCaches (false); Conn.SetDoOutput (true); Conn.SetRequestProperty ("Content-Length", "" + PostData.Length ()); OutputStreamWriter out = new OutputStreamWriter (Conn.getOutputStream (), "UTF-8"); // Mettez les données soumises par le premier plan dans le flux de sortie, c'est-à-dire envoyer la demande de service à la plate-forme de service SMS Out.Write (postdata); out.flush (); out.close (); // obtient le code d'état de la réponse if (conn.getResponSECODE ()! = Httpurlconnection.http_ok) {System.out.println ("Connect a échoué!"); retour ""; } // Obtenez la ligne de chaîne de contenu de réponse, result = ""; BufferedReader dans = new BufferedReader (new InputStreamReader (Conn.getInputStream (), "UTF-8")); while ((line = in.readline ())! = null) {result + = line + "/ n"; } in.close (); Résultat de retour; } catch (ioException e) {e.printStackTrace (System.out); } retour ""; }} Enfin, l'adresse de code source de démonstration est jointe: http://xiazai.vevb.com/201712/yuanma/mobilegegist(vevb.com)
L'adresse du fournisseur de services SMS utilisé dans cette démo est: http://www.106jiekou.com/login/?returnurl=/member/trigger/tremplates/
Résumer
Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article a une certaine valeur de référence pour l'étude ou le travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer. Merci pour votre soutien à wulin.com.