Java整合Redis实现腾讯云短信服务(轻松入门,超详细)

2023-10-26

目录

Java使用腾讯云短信服务

一、短信服务简介

二、准备工作

二、Java操作

三、项目链接


Java使用腾讯云短信服务

一、短信服务简介

首先我们要大致知道短信服务是干什么的:云服务提供商通过短信服务向手机号发送短信。我们可以在云服务提供商的平台上设置短信模板,但是一些具体的数据,例如验证码,是由我们自己的后端生成和实现的。

二、准备工作

  • 进入控制台-》

  • 在国内短信-》签名管理中创建签名

  • 在国内短信-》正文模板管理中创建模板

  • 在套餐包管理-》国内套餐包中购买套餐

  • 在应用管理-》应用列表中创建应用

二、Java操作

说明:这里演示一下使用Java如何调用腾讯云短信服务的基本实现方法

  • 创建SpringBoot工程,引入依赖

    <!--        腾讯云短信服务-->
            <dependency>
                <groupId>com.github.qcloudsms</groupId>
                <artifactId>qcloudsms</artifactId>
                <version>1.0.6</version>
            </dependency>
    <!--        UUID工具类-->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.12.0</version>
            </dependency>
    <!--        redis-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
            </dependency>
  • 修改application.properties文件

    # 应用服务 WEB 访问端口
    server.port=8080
    ​
    spring.redis.host=
    spring.redis.password=
    spring.redis.port=
  • 为短信创建实体类

    @Data
    public class Sms {
        /**
         * 手机号
         */
        String phoneNumber;
    }
  • 创建我们的测试Controller类

    public class SmsController {
    ​
        @Autowired
        RedisTemplate<String,String> redisTemplate;
    ​
        //验证码过期时间
        private Integer expireTime=5;
    ​
        @RequestMapping(value="/send",method = RequestMethod.POST)
        public void sendSms(@RequestBody Sms sms){
            //你的SDKAppID(在应用列表中查看)
            int appid = ;
            //你的App Key(在应用列表详情中查看)
            String appKey = "";
            //你的短信模板id(在国内短信-》正文模板管理中查看)
            int templateId = ;
            //你的签名内容(在国内短信-》签名管理中查看)
            String smsSign = "";
            //生成六位随机数,作为验证码
            String randomCode = RandomStringUtils.randomNumeric(6);
            //打印验证码
            System.out.println(randomCode);
            //将验证码存入redis,key为手机号,value为验证码
            redisTemplate.opsForValue().set(sms.getPhoneNumber(),randomCode,expireTime, TimeUnit.MINUTES);
            //设置调用腾讯云短信服务的参数,注意这个参数和你在腾讯云控制台中定义的短信模板中的参数要一致
            String[] params = {randomCode,Integer.toString(expireTime)};
            SmsSingleSender smsSingleSender = new SmsSingleSender(appid,appKey);
            try {
                //发送验证码
                SmsSingleSenderResult result = smsSingleSender.sendWithParam("86",sms.getPhoneNumber(),templateId,params,smsSign,"","");
                System.out.println(result);
            } catch (HTTPException e) {
                throw new RuntimeException(e);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    ​
    }
  • 最后,我们测试接口

    手机收到验证码:

        查看控制台输出

        查看redis中的验证码

由于验证码是五分钟过期,我这里的验证码已经过期了,就不展示了。

三、项目链接

Gitee:https://gitee.com/esan12138/JavaOperationOfTencentCloudSMSservice.git

GitHub:GitHub - Esan12138/JavaOperationOfTencentCloudSMSservice: 使用Java调用腾讯云短信服务,实现发送短信验证码以及将验证码存入redis中

好啦,到此位置所有功能都已经完成啦,如果喜欢本篇文章,记得点个赞和收藏哦

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java整合Redis实现腾讯云短信服务(轻松入门,超详细) 的相关文章

随机推荐

  • 1140: 小数点后第n位 多实例java

    import java util Scanner public class oj1 public static void main String args Scanner input new Scanner System in int t
  • 利用OpenGL设计贪吃蛇游戏

    利用OpenGL设计贪吃蛇游戏 文章目录 利用OpenGL设计贪吃蛇游戏 任务介绍 游戏玩法 开发环境 游戏实现 贪吃蛇游戏的框架搭建 主程序 游戏类 游戏对象类 工具类 着色器类 摄像机类 精灵渲染类 场景 蛇 食物的渲染 场景 蛇 食物
  • Windows 下将Python项目打包为.exe可执行文件

    Pycharm 打包为 exe 可执行文件 01 安装 PyInstaller 模块 02 打包文件 01 安装 PyInstaller 模块 Python 项目编写完成后 可以将其打包成一个 exe 可执行文件 这样即使计算机上没有Pyt
  • Android平台RTMP推送或GB28181设备接入端如何实现采集audio音量放大?

    我们在做Android平台RTMP推送和GB28181设备对接的时候 遇到这样的问题 有的设备 麦克风采集出来的audio 音量过高或过低 特别是有些设备 采集到的麦克风声音过低 导致播放端听不清前端采集的audio 这时候 就需要针对采集
  • docker容器打通git

    现在github 是通过access token鉴权登录的 在个人设置页面可以创建自己的token 一定要记得保存下来 页面关闭后就不会再展示了 在docker容器中clone仓库代码 会报识别不出github域名 这个时候ping一下gi
  • Python类与对象

    目录 1 语法 1 1 定义类 1 2 调用类 1 3 方法 2 封装 2 1 属性 2 2 类与方法的相互调用 2 3 私有方法 3 继承 3 1 单继承 3 2 多继承 3 3 连续继承 3 4 调用父类同名方法 3 5 查看继承关系
  • Vue获取子组件实例对象 ref 属性

    在 Vue 中推荐使用 ref 属性获取 DOM 元素 这种方式可以提高性能 如果将 ref 属性使用在组件上 那么返回的就是这个组件的实例对象 使用方式 p 或 p
  • 纯css实现爱心

    实现原理图如下 代码如下
  • 计算公式python

    输入整数n 1 lt n lt 10000 计算公式1 1 1 2 1 1 2 n 的值 输入形式 从控制台输入整数n 1 lt n lt 10000 输出形式 控制台输出公式结果 小数点后保留4位 鲜例输入 4 样例输出 1 6000 样
  • python 使用pymysql连接Mysql方法

    调用如下方法传入sql 即可得到返回数据 链接 import pymysql from pymysql cursors import DictCursor def getData sql 1 连接数据库 conn pymysql conne
  • C++类模板 template

    类模板与函数模板的定义和使用类似 有时 有两个或多个类 其功能是相同的 仅仅是数据类型不同 如下面语句声明了一个类 class Compare int public Compare int a int b x a y b int max r
  • 7.24 两道二进制题目练习的总结

    1 兴趣是最好的老师 首先我们把根据PE文件的格式知道这个文件本身有错误 所以不能在IDA中打开 我们先把它在010Editor exe中修改一下 我们把PE头改为50 45 00 00 然后就把它拉入IDA中 然后打开 找到有程序的开始进
  • powershell共享服务器写文件,Powershell共享文件夹

    使用Powershell自动设置文件共享 需要用到WMI对象 WIN32 Share类 确保共享的文件夹是否存在 如果不存在就创建 创建一个WIN32 Share对象 查看WIN32 Share对象支持的方法 查看WIN32 Share的c
  • DVWA-XSS (Stored) Low/Medium/High低中高级别

    作者简介 CSDN top100 阿里云博客专家 华为云享专家 网络安全领域优质创作者 推荐专栏 对网络安全感兴趣的小伙伴可以关注专栏 网络安全入门到精通 XSS Stroed 一 Low级别 二 Medium级别 三 Hign级别 这关是
  • 七、VPN技术之隧道技术原理与VPN技术原理(PPTP协议、L2TP协议、MPLS VPN、Web VPN)

    更多网络基础内容可见 网络基础学习目录及各章节指引 7 2 GRE 虽然计算机网络技术已经逐步发展完善和成熟 并且具有通用的OSI模型体系和TCP IP模型体系 但是各类厂商公司在研发自己的网络设备时 依旧会有自己私有协议的存在 当我们在发
  • Python3.7 Scrapy 执行爬虫任务提示:Unknown command: crawl

    Windows cmd 窗口执行爬虫任务指令 提示如下错误信息 错误的原因 误删了Scrapy 项目下的scrapy cfg的文件 导致上面错误情况的发生
  • Python 邻接矩阵实现无向图、有向图的三种方法,并绘图显示

    网上查了很多资料 发现主要是使用邻接表来实现图 并进行遍历的 而采用邻接矩阵的就非常少 不得已 就只有闭门造车 埋头苦修 小有成果 供后来学习者研究 通过二维数组建立无向图 通过二维数组建立有向图 通过边建立有向图 为方便查看 通过Netw
  • 【模块介绍】WS2812(硬件部分)

    目录 引脚定义 电气属性 电路连接 PCB 软件部分 引脚定义 这是数据手册中引脚定义图和连接方式 可以看出 这个灯是自带芯片控制R G B三色的亮度 可以通过上级的DOUT gt 下级的DIN来使其进行级联 电容官方建议是使用100nF
  • 【元壤教育AI提示工程系列】『KeepChatGPT教程』轻松解决ChatGPT网络报错,畅享无忧沟通!

    元壤教育 中国AIGC提示工程培训的佼佼者 关注 元壤教育 公众号 系统学习AIGC系列课程 提升您10倍生产力 装插件前是这样的 我们使用ChatGPT时 总是因为网络魔法不力的原因导致页面总是报错 如下图所示 装完插件后是这样的 外链图
  • Java整合Redis实现腾讯云短信服务(轻松入门,超详细)

    目录 Java使用腾讯云短信服务 一 短信服务简介 二 准备工作 二 Java操作 三 项目链接 Java使用腾讯云短信服务 一 短信服务简介 首先我们要大致知道短信服务是干什么的 云服务提供商通过短信服务向手机号发送短信 我们可以在云服务