JAVA實現注冊登陸的短信驗證


一、找到一個短信API服務數據接口

  使用短信api接口服務我這里是使用一個第三方的接口服務(步驟需要不是打廣告)。

  1、獲取短信接口的Appkey程序鑰匙。

    https://www.juhe.cn/

    注冊賬號>找到個人中心

請先復制好你的接口密碼,到后面我們要用到

提交審核-往下滑找到你剛剛提交的短信:

請復制好你的短信模板ID

二、代碼實現

  好的,我們拿到了短信的模板編號、短信接口密碼。現在我們就開始打代碼了

  獲取短信類:

package com.yangwansheng.myproject.common;


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.Random;

public class QcloudSms {
    //提取手機號碼生成的驗證碼 phoneNumber手機號碼,code隨機驗證碼
    public static boolean sendCode(String phoneNumber , String code )throws Exception{
        String code_Str = URLEncoder.encode("#code#="+code, "utf-8");
        System.out.println(code_Str);
        //准備URL對象,將接口包裝在此對象中
        URL url = new URL("http://v.juhe.cn/sms/send?mobile="+phoneNumber+
                "&tpl_id=短信模板id編號&tpl_value="+code_Str+"&key=你的AppKey密鑰");
        //打開對象
        URLConnection connection = url.openConnection();
        //向服務器發送連接請求
        connection.connect();
        //獲得服務器響應的數據
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
        StringBuffer buffer = new StringBuffer();
        String lineData = null;
        while((lineData=bufferedReader.readLine())!=null) {
            buffer.append(lineData);
        }
        System.out.println(buffer);
        //關閉連接對象
        bufferedReader.close();
        if(buffer.toString().indexOf("\"erroe_code\":0")>=0) {
            return true;//當調用改方法時返回true短信就發送成功了
        }
        return false;
    }

    //獲取隨機驗證碼
    public static String getCode(){
        //開始生成隨機數字 -- 驗證碼
        StringBuffer buffer = new StringBuffer();
        Random random = new Random(); //隨機數字
        for(int i =0;i<6 ;i++) {
            //生成一個6位數的隨機數
            buffer.append(random.nextInt(10));//范圍0到10,不包括10 ;0-9
        }
        return buffer.toString();
    }

}

 

 獲取短信類寫好了,就到了使用它了

String code =  QcloudSms.getCode();//獲取隨機驗證碼
try {
    //調用接口方法,發送短信到手機 --phone接收短信的手機號碼
      QcloudSms.sendCode(phone,code);
} catch (Exception e) {
      e.printStackTrace();
}

 

之后如何驗證客戶輸入的驗證碼就不寫了。

代碼打完了,只要等待我們的短信模板通過就可以使用了,然后就開始測試吧

測試結果

由於寫的比較着急,所以很多細節沒有優化,請勿見怪。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM