مقدمة
في الآونة الأخيرة ، كنت أعمل على نظام إدارة عدادات المياه الذكي البعيدة. هناك وظيفة لهذه العملية يمكن تسجيلها باستخدام الهواتف المحمولة في صفحة التسجيل. لقد كنت أبحث لفترة طويلة قبل أن أفهم عملية تنفيذ رمز التحقق من الهاتف المحمول تقريبًا. سوف أشاركها معك اليوم. لن أقول الكثير أدناه ، دعنا نلقي نظرة على المقدمة التفصيلية معًا.
عملية تنفيذ رمز التحقق من الرسائل القصيرة
1. بناء رمز التحقق من الهاتف المحمول: استخدم الرقم العشوائي المطلوب من قبل الكائن العشوائي لإنشاء رمز التحقق ، مثل رمز التحقق من 4 بت: رقم عشوائي بين 1000 و 9999 ؛
2. استخدم الواجهة لإرسال رقم الهاتف المحمول وبيانات رمز التحقق إلى منصة SMS ، ثم يرسل منصة SMS رمز التحقق إلى رقم الهاتف المحمول المصمم. تتضمن معلمات الواجهة عمومًا ما يلي: رقم الهاتف المحمول المستهدف ورمز التحقق العشوائي (أو بما في ذلك وقت انتهاء الصلاحية) وعنوان واجهة النظام الأساسي وكلمة مرور النظام الأساسي ؛
3. احفظ المعلومات التي يتم إرجاعها بواسطة الواجهة (عادةً ما تحتاج إلى تحويل بيانات نص JSON ، ثم يجب تحويلها إلى تنسيق كائن JSON) ؛
4. قم بتخزين رمز تحديد رقم الهاتف المحمول ووقت التشغيل في الجلسة للتحقق لاحقًا ؛
5. استلام رموز التحقق والبيانات الأخرى التي تم تملأها من قبل المستخدم ؛
6. قارن ما إذا كان رمز التحقق المقدم يتوافق مع رمز التحقق في الجلسة ، وحدد ما إذا كان إجراء التقديم ضمن فترة الصلاحية ؛
7. رمز التحقق صحيح وخلال فترة الصلاحية ، يتم تمرير الطلب لمعالجة الأعمال المقابلة.
اليوم سوف ننفذ الخطوات الأربع الأولى:
لتبسيط العملية ، نستخدم رمز التحقق من الهاتف المحمول الثابت بدلاً من الأرقام التي تم إنشاؤها عشوائيًا كرمز للتحقق
هنا لدينا صفحة أمامية وصفحة معالجة المنطق الخلفية. فيما يلي عنصرين لشرح بإيجاز:
صفحة الواجهة الأمامية
<Body> <h1> <٪ send send = new send () ؛ سلسلة postData = "account = Jamesxt & Password = 18770918982LKX & Mobile = 18770918982 & content ="+java.net.urlencoder.encode ("رمز الطلب الخاص بك: 4557. //out.println(postdata) ؛ string ret = send.sms (postdata ، "http://sms.106jiekou.com/utf8/sms.aspx") ؛ out.println (ret) ؛ // يرجى إلغاء التخلص من السلسلة التي تم إرجاعها بنفسك وتنفيذ المنطق الخاص بك ٪> </h1> </body>postdata: إنها البيانات المعلقة التي تريد إرسالها إلى منصة خدمة SMS. يتضمن عمومًا اسم حساب المستخدم وكلمة مرور مسجل SMS Service Platform ، وكذلك المحتوى الكامل الذي تريد إرسال رمز التحقق من الرسائل القصيرة والمعلومات التي ينتمي إليها رمز التحقق من الرسائل القصيرة.
String Ret = send.sms (postdata ، http://sms.106jiekou.com/utf8/sms.aspx) ؛
هذا هو ربط البيانات بموقع الويب الخاص بخدمة SMS ، أي النظام الأساسي لتقديم البيانات المقدمة للمعالجة.
فئة معالجة منطق الخلفية:
الفئة العامة إرسال {// هناك معلمتان في طريقة الرسائل القصيرة. يتم تحديد هذه المعلمة بواسطة postdata المقدمة من الصفحة المقدمة وعنوان خدمة الرسائل القصيرة المرتبط بالأولى. SMS Static Static SMS (سلسلة postdata ، سلسلة posturl) {try {// إرسال url url url url ord {url new url (posturl) ؛ httpurlConnection conn = (httpurlConnection) url.openconnection () ؛ Conn.SetRequestMethod ("post") ؛ Conn.SetRequestProperty ("نوع المحتوى" ، "التطبيق/X-WWW-Form-urlencoded") ؛ Conn.SetRequestProperty ("connection" ، "keep-alive") ؛ conn.setuseCaches (false) ؛ conn.setDooutput (صواب) ؛ Conn.SetRequestProperty ("طول المحتوى" ، " + postdata.length ()) ؛ OutputStreamWriter Out = new OutputStreamWriter (conn.getOutputStream () ، "UTF-8") ؛ // ضع البيانات المقدمة من المقدمة في دفق الإخراج ، أي إرسال طلب الخدمة إلى منصة خدمة SMS Out.write (postdata) ؛ out.flush () ؛ out.close () ؛ // احصل على رمز حالة الاستجابة if (conn.getResponsecode ()! = httpurlConnection.http_ok) {system.out.println ("Connect fans!") ؛ يعود ""؛ } // الحصول على خط سلسلة محتوى الاستجابة ، result = "" ؛ BufferedReader في = جديد bufferedReader (new inputStreamReader (conn.getInputStream () ، "utf-8")) ؛ بينما ((line = in.readline ())! = null) {result + = line + "/n" ؛ } in.close () ؛ نتيجة العودة } catch (ioException e) {E.PrintStackTrace (system.out) ؛ } يعود ""؛ }} أخيرًا ، يتم إرفاق عنوان رمز المصدر التجريبي: http://xiazai.vevb.com/201712/yuanma/mobileregist(vevb.com).rar
عنوان مزود خدمة الرسائل القصيرة المستخدمة في هذا العرض التوضيحي هو: http://www.106jiekou.com/login/؟returnurl=/member/trigger/templates/
لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون لمحتوى هذه المقالة قيمة مرجعية معينة لدراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.