1.购买短信验证码服务

登录阿里云官网进行购买:点击进入

我选择第一个进入,然后购买

2.使用说明

我们要修改的参数就以下几个

  • appcode, 这是相当于是使用服务的密钥,可在 控制台-云市场 查看
  • template_id, 这是短信模板编号, 对应不同的短信内容模板
  • phone_number, 接受验证码的手机号
  • content, 验证码内容, 格式是 code:你的验证码

3.整合使用

application.properties

#短信接口配置
spring.cloud.alicloud.sms.appcode=d2c9a409391e4f4e9c20gt8d1868eec5
spring.cloud.alicloud.sms.templateid=TPL_0000

SmsComponent

package com.atguigu.gulimall.thirdparty.component;import com.atguigu.common.utils.HttpUtils;
import lombok.Data;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;import java.util.HashMap;
import java.util.Map;@ConfigurationProperties(prefix = "spring.cloud.alicloud.sms")
@Data
@Component
public class SmsComponent {private String templateid;private String appcode;public void sendSmsCode(String phone,String code){String host = "https://dfsns.market.alicloudapi.com";String path = "/data/send_sms";String method = "POST";//String appcode = "你自己的AppCode";Map<String, String> headers = new HashMap<String, String>();//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105headers.put("Authorization", "APPCODE " + appcode);//根据API的要求,定义相对应的Content-Typeheaders.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");Map<String, String> querys = new HashMap<String, String>();Map<String, String> bodys = new HashMap<String, String>();bodys.put("content", "code:"+code);bodys.put("phone_number", phone);bodys.put("template_id", templateid);try {/*** 重要提示如下:* HttpUtils请从* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java* 下载** 相应的依赖请参照* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml*/HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);System.out.println(response.toString());//获取response的body//System.out.println(EntityUtils.toString(response.getEntity()));} catch (Exception e) {e.printStackTrace();}}
}

SmsSendController

package com.atguigu.gulimall.thirdparty.controller;import com.atguigu.common.utils.R;
import com.atguigu.gulimall.thirdparty.component.SmsComponent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/sms")
public class SmsSendController {@AutowiredSmsComponent smsComponent;/*** 提供给别的服务进行调用* @param phone* @param code* @return*/@GetMapping("/sendcode")public R sendCode(@RequestParam("phone") String phone, @RequestParam("code") String code){smsComponent.sendSmsCode(phone,code);return R.ok();}
}

4.运行测试

使用postman测试

成功接收到验证码

35-SpringBoot 短信验证码接口使用相关推荐

  1. php短信接口加密_PHP短信接口、PHP短信验证码接口源码

    PHP短信接口.PHP短信验证码接口源码 时间:2016-06-13 11:53 来源:原创 作者:admin PHP短信接口文档源码,PHP发短信接口,PHP在线发短信,PHP微信发短信接口 /* ...

  2. 短信验证码接口的应用场景和优势

    短信验证码接口是常用于网络平台的一种短信功能接口,它在用户注册登录.密码找回.账户变更.确认支付.活动认证等场景都会应用到,短信接口作为网络平台与用户之间重要交互手段,凭借其速度快.到达率高.安全性好 ...

  3. 如何防止恶意攻击短信验证码接口

    如何防止恶意攻击短信验证码接口 1 自研技术 2 自研验证码被破解怎么办? 3 所有图形验证码都被破解怎么办? 1 自研技术 1.手机号码限制:限制单个手机号码每天的最大发送次数.超过次数不能发送短信 ...

  4. java防止注册刷短信攻击_java面试(1)如何防止恶意攻击短信验证码接口

    防止恶意攻击短信验证码接口方法 1.手机号码限制:限制单个手机号码每天的最大发送次数.超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天. 2.短信发送时间间隔限制:限制同一个手机号码重复发 ...

  5. 手机短信验证码接口在各领域的应用

    很多网站.APP应用.内部管理软件在使用过程中,都需要会员进行手机号码验证.登录验证.操作验证,在各种验证形式中,手机短信验证的方式最为简单和方便.根据不同的应用领域,手机短信验证可以广泛应用在如下方 ...

  6. 【转载】C语言,利用网络短信验证码接口实现手机短信发送

    利用网络短信验证码接口实现手机短信发送 (历史代码,贴出学习) resource.h //resource.h//{{NO_DEPENDENCIES}} // Microsoft Visual C++ ...

  7. Httpclient调用短信验证码接口

    一.简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的.最新的.功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议.Ht ...

  8. 如何防止短信验证码接口、登录注册入口被恶意调用攻击?

    目录 前言 1.短信验证码是什么? 2.为什么要对短信验证码进行防护? 3.有哪些常见的防护手段? 4.这些防护手段有没有用呢,到底该如何选择? 5.结语 前言 最近遇到一个关于防止短信验证码被刷的问 ...

  9. 全国通用标准化HTTP短信验证码接口,接入从未如此简单

    熟练掌握接口对接是一个程序猿的基本功,短信验证码接口作为企业商用最常见也是用的最多的一个接口,能够快速的接入当然是可以省下不少的时间啦!下面给大家介绍一个简单快速的接入方法啦! 验证码的前端代码很简单 ...

  10. java叮咚云短信验证码接口调用

    最近在写后台,所以有些方法想记录下来,下面是叮咚云短信验证码接口调用,叮咚云的地址http://www.dingdongcloud.com/,里面有详细的信息,下面是我写的一个方法,仅供参考. imp ...

最新文章

  1. 工程师文化:BAT 为什么不喊老板
  2. 软件测试测试人员遇到的问题及解决方法(面试)
  3. 黑客攻防技术宝典Web实战篇第2版—第5章 避开客户端控件
  4. 北京大学数学科学学院2006/9/20声明:坚持真理、追求卓越zz
  5. oracle内存参数越大越好吗,什么是Oracle内存参数调优技术?
  6. SAP自学指南:案例公司的SAP解决方案
  7. 浅谈Linux协议和组成
  8. 润乾报表不显示的分析原因
  9. 【HDU5409】CRB and Graph 边双联通 子树最值
  10. DM8168外挂IC卡读写异常
  11. 端口扫描工具Namp
  12. selenium安装和chromedriver下载安装
  13. 基于TI DRV8424驱动步进电机实现调速和行程控制
  14. 五星填数(全排列问题)
  15. Hyper-V虚拟机安装XP系统
  16. 192.168.8.1手机登陆_192.168.8.1登录入口上网设置
  17. dw自定义html模板,用DW编辑网站模板的方法
  18. 查询天气的接口api收集总结
  19. 用C语言计算手机的九宫格图案解锁总共能绘出多少种图案
  20. iview实现table的可编辑

热门文章

  1. 哈尔滨旅游名胜——防洪纪念塔
  2. タイ国内線空港 浸水被害拡大
  3. 【MySQL必知必会(十三)】【创建高级联结】
  4. 2022年初级会计职称考试经济法基础练习题及答案
  5. python士兵突击_03_士兵开火
  6. Tensorflow 学习之猫狗分类案例
  7. 使用Animatron轻松创建艳丽的互动动画
  8. Codeforces 825 D Suitable Replacement
  9. kali中安装arachni出现的问题
  10. 判断是否是IE浏览器,或360兼容模式