<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg>
讯享网
短信服务现在在很多地方都用的到,我们最多接触到的可能就是验证码的发送了;现在很多大厂都提供由短信服务对应的api,直接调用就可以轻松实现短信发送;下面我以阿里云为例,演示一下如何短信发送验证码;
首先是一些准备工作,注册阿里云账号就不说了;
打开自己的控制台,搜索找到短信服务:
点开后找到快速学习(现在阿里云短信服务正式使用开通需要营业执照什么的证明,但是它也提供了学习用的方法,实现起来都差不多):

在这里可以绑定一下自己的手机号,因为用来测试,所以只有绑定的手机号才能成功接收短信:

然后可以看到下面有个签名模板,这个是一些必要的参数,一会要用到:

这些都弄完后还有两个以外的步骤:
- 在这里创建一个accessKey,这是你这个用户接口调用凭证:

记住保存好自己的AccessKey ID和secret;

- 虽然是短信测试,但是毕竟发短信还是要钱的,所以还需要充点钱,很便宜,一条短信几分钱,我充了三块钱大概可以调用接口七十多次吧:

做完这些后,准备工作就完成了,可以发一条短信测试一下:

下面就是代码开发;
其实阿里云已经提供好代码模板了,能力强的可以直接看它的模板,并不难:


这里代码有两种版本,我这里就用网上最多的老版的了(还是看需求,在java这一块老版本其实没有问题的);
下面就是具体代码开发:
先引入依赖:
讯享网
在application.yml中配置一些基本信息:

region_id就是服务地区,选择离自己近的就好;

另外两个参数就是刚才创建的accesskey;
然后创建一个工具类用来获取这三个参数:
然后配置短信发送模板:
讯享网
注意:这里是验证码发送,所以map格式需要为:{“code”:“4-6位数字”},格式错误会发送失败;
在这里我在多说点验证码发送的细节吧;
首先验证码的获取可以通过后端生成一个随机数,这里提供一个生成四位或六位的随机数工具类:
然后通过该工具类生成验证码,然后就可以调用上面的短信发送模板,把验证码和发送给的手机号传过去;
短信发送成功后,将验证码存入redis中,key为该验证码发送到的手机号,还需要设置一个超时时间,比如5分钟:
讯享网
设置到redis目的就是为了防止用户短时间内多次调用短信发送接口,分分钟让你破产;
设置了redis,那么每次调用短信发送接口前都需要通过发送用户的手机号判断一下redis中是否有该用户的发送记录,如果有,就不要在调用短信发送逻辑;
这就是大致流程了,当然实际情况肯定比这个复杂,这只是一个大致思路;
大致接口实现如下:
短信发送的学习是一个很简单的调用api接口的案例,阿里云也有很多其他的服务,可以尝试调用它的接口实现更多好玩的功能;



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/188884.html