亚洲精品久久久久综合,卡一卡二卡三高清乱码网站,一边吃奶一边扎下边爽了,最近中文字幕完整版2018一页,国产经典三级av在线播放

價(jià)格不是我們的優(yōu)勢,品質(zhì)永遠(yuǎn)是我們的追求!
當(dāng)前位置:首頁行業(yè)快訊 > java手機(jī)短信驗(yàn)證碼實(shí)現(xiàn)
java手機(jī)短信驗(yàn)證碼實(shí)現(xiàn)
來源:動(dòng)力思維樂信  時(shí)間:2017-11-20 16:01

    利用短信驗(yàn)證碼進(jìn)行身份驗(yàn)證是目前互聯(lián)網(wǎng)眾多產(chǎn)品常用的一種方式,那么這種短信驗(yàn)證功能是如何實(shí)現(xiàn)的呢?就以目前的主流語言java為例為大家介紹一下。

    一、準(zhǔn)備工作:

    ①選擇一家提供java短信接口的短信公司。

    ②獲得該公司短信接口的短信接口文檔和java短信接口的代碼示例。

    二、梳理短信驗(yàn)證碼發(fā)送整個(gè)流程:

    ①用戶填入手機(jī)號(hào),觸發(fā)獲取驗(yàn)證碼按鈕,然后頁面程序驗(yàn)證手機(jī)號(hào)是否有效,有效則客戶端發(fā)送請(qǐng)求到后臺(tái)服務(wù)器,客戶端開始倒計(jì)時(shí)60s,不通過則返回;

    ②服務(wù)器,驗(yàn)證手機(jī)號(hào)是否被注冊(cè)或有效,通過則調(diào)用接入的短信驗(yàn)證碼接口,并發(fā)送相關(guān)數(shù)據(jù)(包括手機(jī)號(hào)和驗(yàn)證碼),然后回調(diào)結(jié)果,成功則將驗(yàn)證碼存入session,失敗則返回提示,不通過則返回。

    ③客戶收到驗(yàn)證碼后在有效時(shí)間內(nèi),填入并發(fā)送請(qǐng)求。

    ④服務(wù)器端,收到請(qǐng)求后,用戶發(fā)送過來的驗(yàn)證碼和事前放入session的驗(yàn)證碼做對(duì)比,相同通過,否則提示驗(yàn)證碼無效。

    ⑤通過后,需要將session中的驗(yàn)證碼無效化,一般就是置為空。

    三、代碼示例如下:

    代碼段①:

function sendCaptcha(tel) {    

       console.log("sendCaptcha: tel = " + tel);    

       $.ajax({    

           type: 'post',    

           url: '/sms/captcha/' + tel,    

           dataType: "json",    

           success: function (data) {    

               console.log("sendCaptcha ==> success: data = " + eval(data));    

               if (data) {    

                   countdown();    

                   b_code = false;    

               } else {    

                   alert("您發(fā)送的頻率過快!");    

               }    

           },    

           error: function (data) {    

               console.log("sendCaptcha ==> error: data = " + eval(data));    

               alert("網(wǎng)絡(luò)超時(shí)");    

               clearTimeout(t);    

               b_code = true;    

               var msg = "獲取驗(yàn)證碼";    

               $("#code").text(msg);    

               c = 60;    

           }    
       });    
   }

代碼段②

@RequestMapping(value = "captcha/{recPhoneNum}",   method = RequestMethod.POST)
        
   public Object getSmsCaptcha(ModelMap   model, @PathVariable("recPhoneNum")String recPhoneNum) {
           
       String responseBody = null; 
              
       /* 這里驗(yàn)證手機(jī)號(hào)是否被注冊(cè) */ 
          
    ?    // 生成驗(yàn)證碼    
    ?    
       String captcha  = Generator.generateCaptcha();
               
       try {        
    ?        // 發(fā)送請(qǐng)求,第三方短信通信接口參數(shù)設(shè)置:賬號(hào)accName 密碼accPwd  樂信短信api文檔查看地址:http://www.iium.cn/apitext.html
           responseBody = sendSms(String   accName,String accPwd,recPhoneNum,"你的短信驗(yàn)證碼是:"+captcha);
               
          // 將驗(yàn)證碼放入session    
          
             model.addAttribute("captcha", captcha); 
                    
    ?      ?  // 得到結(jié)果    
           responseBody = rsp.getBody(); 
                  
           log.debug("getSmsCaptcha:   responseBody = " + responseBody);
                   
           if (rsp.getResult() !=   "101") {        
                 model.addAttribute("success_response",   rsp.getResult());        
           } else {        
                 model.addAttribute("error_response", rsp.getSubMsg());        
           }        
       } catch (ApiException e) {        
           log.error("getSmsCaptcha   :" + e.getErrMsg());        
       }        
        // 解析結(jié)果    
       if (successJson != null) { 
              
           successJson =   successJson.getJSONObject("result"); 
                  
           return   successJson.getBoolean("success");
                   
       } else {
               
           return false;        
       }        
     }       
private String sendSms(String   accName,String accPwd,String mobies,String content){  
  
StringBuffer sb = new   StringBuffer("https://www.lx198.com/sdk/send?"); 
   
try {    

sb.append("&accName="+accName);  
   
sb.append("&accPwd="+MD5.getMd5String(accPwd));
     
sb.append("&aimcodes="+mobies);    

sb.append("&content="+URLEncoder.encode(content,"UTF-8")); 
   
sb.append("&bizId="+BizNumberUtil.createBizId());  
  
sb.append("&dataType=string");    

URL url = new URL(sb.toString());    

HttpURLConnection connection =   (HttpURLConnection) url.openConnection();  
  
connection.setRequestMethod("POST");

BufferedReader in = new   BufferedReader(new InputStreamReader(url.openStream())); 
   
return in.readLine();
 
} catch (Exception e) { 
 
// TODO Auto-generated catch block
  
e.printStackTrace();
   
}    
return null;
}

代碼段③

// 從session取出驗(yàn)證碼

String captcha = session.getAttribute("captcha");

// 比較

if (reqCaptcha.equals(captcha))// 

相同通過,則無效化驗(yàn)證碼

session.setAttribute("captcha", null);

else

// 不通過并提示無效驗(yàn)證碼

以上就是java手機(jī)短信驗(yàn)證碼實(shí)現(xiàn)流程,如還有什么疑問請(qǐng)?jiān)诰€咨詢或撥打400電話:400-6699-521 。