一、找到一个短信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(); }
之后如何验证客户输入的验证码就不写了。
代码打完了,只要等待我们的短信模板通过就可以使用了,然后就开始测试吧
测试结果
由于写的比较着急,所以很多细节没有优化,请勿见怪。