如何用java实现短信验证码发送到手机?(干货安排)
首先打开腾讯云控制台
https://console./
找到短信位置
找到国内短信的签名管理还有模板管理,根据提示填写好自己的信息,审核2个小时内,获得id等发送短信的接口。
具体需要的信息在Java代码中有注释,注意看就好。
💡 注意:需要完成以上内容才能进行下面内容
接下来配置java代码:
第一步:加入依赖:
<dependency><groupId>com.github.qcloudsms</groupId><artifactId>qcloudsms</artifactId><version>1.0.6</version></dependency>
第二步:创建实体类
package com.itszt22.entity;import lombok.Data;@Datapublic class Sms {// 设置手机号String phoneNumber = "123";// 设置验证码String code = "6379";// 设置延迟时间int min = 1;}
第三步:创建执行类(也可以直接写test用main方法执行)
import java.io.IOException;@RestControllerpublic class SmsController {@GetMapping("/sendcode")public void sms(Sms sms){// 设置应用idint appid = 1400812612;// 设置应用秘钥String appkey = "密钥";// 设置模板idint templateId = 1766413;// 设置签名名字String smsSign = "大大怪头像公众号";// Sms sms = new Sms();// sms.setCode("6379");// sms.setPhoneNumber("15037266311");// sms.setMin(5);String[] params = {sms.getCode(),Integer.toString(sms.getMin())};SmsSingleSender smsSingleSender = new SmsSingleSender(appid, appkey);try {smsSingleSender.sendWithParam("86",sms.getPhoneNumber(),templateId,params,smsSign,"","");} catch (HTTPException e) {throw new RuntimeException(e);} catch (JSONException e) {throw new RuntimeException(e);} catch (IOException e) {throw new RuntimeException(e);}}}
💡 注意:这只是静态逻辑 如果需要动态获取验证码的话 可以自己写一个校验 用于验证是否可以登录
接下来看看效果吧:
启动:
访问:localhost:8080/sendcode 发送get请求 等待几秒钟