IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> JAVA 实现阿里云的短信验证码 -> 正文阅读

[开发工具]JAVA 实现阿里云的短信验证码

调用发送短信代码

1、此处:String template = “SMS_22*****05”;这里修改为你自己的短信模板

/**
     * 发送手机短信
     */
    @Autowired
    private SendSmsImpl sendSms;
   
    
    @CrossOrigin
    @PostMapping("/aliyun")
    @ApiOperation(value = "发送阿里云短信验证码",response = R.class)
    public R aliyun(@Validated RequestAliyunNoteEntity requestAliyunNoteEntity) {
        //获取手机号,发送短信验证码
        String account = requestAliyunNoteEntity.getAccount();
        //code模板
        String template = "SMS_22*****05";
        //随机获取验证码-6位
        HashMap<String, Object> mp = new HashMap<>();
        StringBuilder sb = new StringBuilder();
        Random random = new Random();
        for(int i=0;i<6;i++){
            sb.append(random.nextInt(10));
        }
        mp.put("code",sb);
        //如果发送代码成功!那么就存储(替换)验证码到数据库
        boolean send = sendSms.send(account, template, mp);
        if(send){
            Boolean aBoolean = clientCodeService.saveNote(account, sb.toString());
            if(aBoolean){
                return R.ok();
            }else{
                return R.error("出现了点意外!");
            }
        }else{
            return R.error("刚刚发生了什么事儿?");
        }
    }

二、发送短信的主要代码

/**
 * @author LunarYouI
 * @create 2021-06-15 10:56
 *
 * 传入手机号、模板code、验证码
 */
public interface SendSms {
    boolean send(String phoneNum, String templateCode, Map<String,Object> code);
}

1、此处:DefaultProfile profile = DefaultProfile.getProfile(“cn-hangzhou”, “参数2”, “参数3”); 需要将2、3参数修改为自己的accessKeyIdsecret
2、此处:request.putQueryParameter(“SignName”, “参数2”);参数2需要修为自己的前面名称,否则不可用

/**
 * @author LunarYouI
 * @create 2021-06-15 10:59
 */
@Service
public class SendSmsImpl implements SendSms{
    @Override
    public boolean send(String phoneNum, String CODE, Map<String, Object> code) {
        //链接阿里云
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "####5tNzdq3Gw8Wh########", "####qRNeKwUrEQjsAwIbIb########");
        //构建成客户端
        IAcsClient client = new DefaultAcsClient(profile);
        //构建请求
        CommonRequest request = new CommonRequest();
        request.setMethod(MethodType.POST);
        request.setDomain("dysmsapi.aliyuncs.com");
        request.setVersion("2017-05-25");
        request.setAction("SendSms");
        //自定义的参数(手机号、验证码、签名、模板)
        request.putQueryParameter("RegionId", "cn-hangzhou");
        request.putQueryParameter("PhoneNumbers", phoneNum);//手机号码
        request.putQueryParameter("SignName", "帮运天下");//签名名称
        request.putQueryParameter("TemplateCode", CODE);//模板的code
        //构建一个短信验证码
        request.putQueryParameter("TemplateParam", JSONObject.toJSONString(code));
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
            //成功就返回true【response.getHttpResponse().isSuccess()里面默认就带了布尔值】
            return response.getHttpResponse().isSuccess();
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
        return false;
    }
}

最终效果图:
在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:24:24  更:2022-03-17 22:24:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:31:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码