SpringBoot使用阿里大于短信接口
2017-07-27 17:24
766 查看
1.下载 阿里大于 java SDK
下载地址 https://help.aliyun.com/document_detail/55359.html?spm=5176.doc55284.2.6.iRVRZy
2.获得 短信签名和短信模板,Access
Key ID,Access Key Secret(登录阿里云里获得)
3.导入jar到maven
pom.xml:
这样就能把本地jar包导入maven项目了。
4.编程(基本与官方demo一致,自行修改)
5.获取session里的验证码与用户输入的比较
附上几张图:
log:
登录成功:
好了,到这里就完了。
我是一个菜鸟。欢迎大家进博客群313145288,一起来讨论。
下载地址 https://help.aliyun.com/document_detail/55359.html?spm=5176.doc55284.2.6.iRVRZy
2.获得 短信签名和短信模板,Access
Key ID,Access Key Secret(登录阿里云里获得)
3.导入jar到maven
pom.xml:
<dependency> <groupId>my-jar</groupId> <!-- 自己随便取--> <artifactId>my-jar</artifactId> <!-- 自己随便取--> <version>1.0</version><!-- 自己随便取--> <scope>system</scope> <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/aliyun-java-sdk-core-3.2.3.jar</systemPath> </dependency> <dependency> <groupId>my-jar-api</groupId> <!-- 自己随便取--> <artifactId>my-jar-api</artifactId> <!-- 自己随便取--> <version>1.0</version><!-- 自己随便取--> <scope>system</scope> <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/aliyun-java-sdk-dysmsapi-1.0.0-SANPSHOT.jar</systemPath> </dependency>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> </plugin>
这样就能把本地jar包导入maven项目了。
4.编程(基本与官方demo一致,自行修改)
@PostMapping("sendLoginMessage") @ResponseBody public boolean sendSMSMessage(@RequestParam("mobile")String mobile, HttpServletRequest request){ //设置超时时间-可自行调整 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化ascClient需要的几个参数 final String product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改) final String domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改) //替换成你的AK final String accessKeyId = "XXXXXXX";//你的accessKeyId,参考本文档步骤2 final String accessKeySecret = "XXXXXXXXXXXXXXXXXXX";//你的accessKeySecret,参考本文档步骤2 //初始化ascClient,暂时不支持多region try{ IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象 SendSmsRequest smsRequest = new SendSmsRequest(); //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 smsRequest.setPhoneNumbers(mobile); //必填:短信签名-可在短信控制台中找到 smsRequest.setSignName("XXXXX"); //必填:短信模板-可在短信控制台中找到 smsRequest.setTemplateCode("SMS_XXXXXXXX"); int ran = (int)(Math.random()*(9999-1000+1))+1000;//产生1000-9999的随机数 String code = String.valueOf(ran); //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 smsRequest.setTemplateParam("{\"code\":"+code+"}"); //把短信验证码存入session session = request.getSession(); ValidateCode validateCode = new ValidateCode(); validateCode.setMobile(mobile); validateCode.setCode(code); session.setAttribute(mobile,validateCode); //可选-上行短信扩展码(无特殊需求用户请忽略此字段) //request.setSmsUpExtendCode("90997"); //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 //request.setOutId("yourOutId"); //请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(smsRequest); System.out.println(sendSmsResponse.getCode()); System.out.println(sendSmsResponse.getBizId()); System.out.println(sendSmsResponse.getMessage()); System.out.println(sendSmsResponse.getRequestId()); if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) { //请求成功 System.out.print("success"); return true; } }catch (ClientException e){ return false; } System.out.print("fail"); return false; }
5.获取session里的验证码与用户输入的比较
@PostMapping("validateCode") @ResponseBody public boolean validateCode(@RequestParam("mobile")String mobile, @RequestParam("code")String code,HttpServletResponse response){ if (Utils.isNull(mobile) || Utils.isNull(code)){ return false; } ValidateCode validateCode = (ValidateCode) session.getAttribute(mobile); //System.out.println("sessioncode"+validateCode.getCode()); //System.out.println(code); if(validateCode.getCode().equals(code)){ //代码 } return false; }
附上几张图:
log:
登录成功:
好了,到这里就完了。
我是一个菜鸟。欢迎大家进博客群313145288,一起来讨论。
相关文章推荐
- Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
- 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
- 【短信接口】阿里大于迁移到阿里云之后使用方法
- tp使用阿里大于的短信接口
- 使用阿里大于接口实现一个简单的短信验证(Java版)
- SpringBoot --- 阿里大于发送短信工具类
- Java使用阿里大于发送短信通知和短信验证码
- Spring-Boot整合mybatis(二),使用阿里的druid包,进行监控SQL执行速度
- 使用“阿里大于”和 “企信通” 短信异步发送
- Spring Boot实战之Filter实现使用JWT进行接口认证
- 模板短信接口调用java,pythoy版(二) 阿里大于
- ASP.NET MVC阿里大于短信接口开发短信群发能
- Springboot使用FastJson后,接口返回中文乱码的问题解决。
- Thinkphp5使用阿里大于短信验证
- Spring boot项目 使用ip+port+contextPath进行访问的时候会直接显示出项目中的一些接口信息和相关数据
- Thinkphp5使用阿里大于短信验证
- 阿里大于 发短信 方法 Spring boot 实现
- Java使用阿里大于发送短信通知和短信验证码
- php登陆绑定手机验证码使用阿里大于接口
- asp.net mvc短信接口调用——阿里大于API开发心得