一、找到一個短信API服務數據接口
使用短信api接口服務我這里是使用一個第三方的接口服務(步驟需要不是打廣告)。
1、獲取短信接口的Appkey程序鑰匙。
注冊賬號>找到個人中心
請先復制好你的接口密碼,到后面我們要用到
提交審核-往下滑找到你剛剛提交的短信:
請復制好你的短信模板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(); }
之后如何驗證客戶輸入的驗證碼就不寫了。
代碼打完了,只要等待我們的短信模板通過就可以使用了,然后就開始測試吧
測試結果
由於寫的比較着急,所以很多細節沒有優化,請勿見怪。