1.先在maven构建需要的jar包

 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>3.2.8</version></dependency><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-dysmsapi</artifactId><version>1.1.0</version></dependency>

2.获取验证码

package com.springmybatis.controller;import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
import com.springmybatis.util.StaticPeram;public class PhoneCode {private static String code ;public static void main(String[] args) {String phone = "13119408197"; //此处可输入你的手机号码进行测试getPhonemsg(phone);}/*** 阿里云短信服务配置* @param mobile* @return*/public static String getPhonemsg(String mobile) {/*** 进行正则关系校验*/System.out.println(mobile);if (mobile == null || mobile == "") {System.out.println("手机号为空");return "";}/*** 短信验证---阿里云工具*/// 设置超时时间-可自行调整System.setProperty(StaticPeram.defaultConnectTimeout, StaticPeram.Timeout);System.setProperty(StaticPeram.defaultReadTimeout, StaticPeram.Timeout);// 初始化ascClient需要的几个参数final String product = StaticPeram.product;// 短信API产品名称(短信产品名固定,无需修改)final String domain = StaticPeram.domain;// 短信API产品域名(接口地址固定,无需修改)// 替换成你的AKfinal String accessKeyId = StaticPeram.accessKeyId;// 你的accessKeyId,参考本文档步骤2final String accessKeySecret = StaticPeram.accessKeySecret;// 你的accessKeySecret,参考本文档步骤2// 初始化ascClient,暂时不支持多regionIClientProfile profile = DefaultProfile.getProfile("cn-hangzhou",accessKeyId, accessKeySecret);try {DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product,domain);} catch (ClientException e1) {e1.printStackTrace();}//获取验证码code = vcode();IAcsClient acsClient = new DefaultAcsClient(profile);// 组装请求对象SendSmsRequest request = new SendSmsRequest();// 使用post提交request.setMethod(MethodType.POST);// 必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式request.setPhoneNumbers(mobile);// 必填:短信签名-可在短信控制台中找到request.setSignName(StaticPeram.SignName);// 必填:短信模板-可在短信控制台中找到request.setTemplateCode(StaticPeram.TemplateCode);// 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为// 友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败request.setTemplateParam("{ \"code\":\""+code+"\"}");// 可选-上行短信扩展码(无特殊需求用户请忽略此字段)// request.setSmsUpExtendCode("90997");// 可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者request.setOutId("yourOutId");// 请求失败这里会抛ClientException异常SendSmsResponse sendSmsResponse;try {sendSmsResponse = acsClient.getAcsResponse(request);if (sendSmsResponse.getCode() != null&& sendSmsResponse.getCode().equals("OK")) {// 请求成功System.out.println("获取验证码成功!!!");} else {//如果验证码出错,会输出错误码告诉你具体原因System.out.println(sendSmsResponse.getCode());System.out.println("获取验证码失败...");}} catch (ServerException e) {e.printStackTrace();return "由于系统维护,暂时无法注册!!!";} catch (ClientException e) {e.printStackTrace();return "由于系统维护,暂时无法注册!!!";}return "true";}/*** 生成6位随机数验证码* @return*/public static String vcode(){String vcode = "";for (int i = 0; i < 6; i++) {vcode = vcode + (int)(Math.random() * 9);}return vcode;}
}

3.配置调用阿里云的接口的参数

public class StaticPeram {/*** 手机验证部分配置*/// 设置超时时间-可自行调整public final static String defaultConnectTimeout  = "sun.net.client.defaultConnectTimeout";public final static String defaultReadTimeout = "sun.net.client.defaultReadTimeout";public final static String Timeout = "10000";// 初始化ascClient需要的几个参数public final static String product = "Dysmsapi";// 短信API产品名称(短信产品名固定,无需修改)public final static String domain = "dysmsapi.aliyuncs.com";// 短信API产品域名(接口地址固定,无需修改)// 替换成你的AK (产品**)public final static String accessKeyId = "LTAI5t7DGi3TUv64U9oVa5qE";// 你的accessKeyId,填你自己的 上文配置所得  自行配置public final static String accessKeySecret = "GcUPMP6jM79onAiZ5AsOcOPm4V3v9R";// 你的accessKeySecret,填你自己的 上文配置所得 自行配置// 必填:短信签名-可在短信控制台中找到public final static String SignName = "阿里云";// 阿里云配置你自己的短信签名填入// 必填:短信模板-可在短信控制台中找到public final static String TemplateCode = "TemplateCode"; // 阿里云配置你自己的短信模板填入
}

4.进入阿里云进行配置签名和模板(控制台-阿里云logo-寻找短信服务–国内短信)

配置签名管理,然后再配置模板,将程序中相应参数替换。模板code

java调用阿里云api发送短信验证服务相关推荐

  1. java调用阿里云短信服务器-发送短信

    首先注册购买阿里云短信服务器,具体步骤自行百度 代码 maven依赖 <!-- 阿里短信平台依赖 --><dependency><groupId>com.aliyu ...

  2. 基于阿里云平台的短信验证码服务API的使用

    基于阿里云平台的短信验证码服务API的使用 第一步:登录阿里云平台 第二步:申请国内文本短信签名 如果是个人作业项目(如作者的签名),可以直接申请测试和学习用的测试签名,该签名的缺点是必须绑定测试手机 ...

  3. node.js实现阿里云配置发送短信验证码

    目录 开始 签名添加 模板添加 测试短信 项目中使用 Core accessKeyId | accessKeySecret params PhoneNumbers SignName TemplateC ...

  4. 健康管理系统第六天(移动端开发之体检预约_经典五表联查_调用阿里云提供的短信服务进行短信验证码发送)

    一.移动端开发 1.移动端开发方式 随着移动互联网的兴起和手机的普及,目前移动端应用变得愈发重要,成为了各个商家的必争之地.例如,我们可以使用手机购物.支付.打车.玩游戏.订酒店.购票等, 以前只能通 ...

  5. Java项目使用阿里云平台发送短信说明

    一.前言 项目上通过阿里云短信平台API发送短信是十分便捷的,主要是其官网使用方便,文档全面完善,因此,本篇文章重点不在于说明如何接入使用.现在各短信平台都加强了审核,导致在服务的申请和使用上存在着很 ...

  6. 魔方APP项目-05-注册功能实现,手机号唯一验证接口、客户端进行手机号验证、保存用户注册信息接口、客户端用户进行注册、使用云通讯发送短信,服务端实现发送短信验证码的api接口、客户端实现点击发送短信

    用户模块 注册功能实现 1.手机号码唯一验证接口 在开发中,针对客户端提交的数据进行验证或提供模型数据转换格式成字典给客户端.可以使用Marshmallow模块来进行. 为了方便导包,所以我们设置当前 ...

  7. 调用阿里云接口实现短信消息的发送源码——CSDN博客

    在调用阿里云接口之前首先需要购买接口,获得accessKeySecret,然后使用下列代码就可以直接调用了!! /** * @Title: TestPhoneVerification.java * @ ...

  8. 阿里云~简单发送短信

    简单三步骤:轻松发送短信 一:阿里云 1.创建一个阿里云账号 2.创建一个签名,创建模板 3.创建一个秘钥(用自己的秘钥id,以及密码) 二:代码 1.引入俩个依赖 <!-- https://m ...

  9. Java使用阿里大鱼实现发送短信

    获取 AccessKey ID 和 Access Key Secret 获取 签名名称 和 模版CODE 阿里云官网 如何使用? 1.首先导报 <dependency><groupI ...

最新文章

  1. Delphi 调用VC的DLL
  2. 【《Effective C#》提炼总结】提高Unity中C#代码质量的21条准则
  3. warning C4996: “strcpy”被声明为否决的解决办法
  4. 风格迁移模型测试效果
  5. “易语言.飞扬”十分钟入门教程(修订版1,update for EF1.1.0)
  6. 电脑耗电知多少及如何节能
  7. sqlserver2000换成mysql_MS SQL Server2000转换成MySQL
  8. TubeMQ 万亿级分布式消息中间件
  9. [译]Javascript中的mutators
  10. C#高级编程笔记(二)
  11. nodejs的moment操作时间
  12. mongodb索引 多健索引
  13. java 应用 中文字体_Linux 添加中文字体库,解决Java 生成中文水印不显示问题
  14. ORACLE VARCHAR2和NVARCHAR2的区别
  15. python模拟ios点击_使用Xcode + Python进行IOS运动轨迹模拟
  16. HDU 4435 charge-station (搜索+YY)
  17. 5.26——工作记录
  18. Java自定义导出列_后台生成EXCEL文档,自定义列
  19. C#winform下获取主机ip及hostname
  20. 卡特兰数(c++实现)

热门文章

  1. 解:一阶齐次或非齐次线性微分方程-详细推导
  2. Redis源码篇(1)——底层数据结构与对象
  3. 老树新芽 体验Visual Basic 9.0新功能
  4. 【软件项目管理 PMP】-- 100+真题考试题
  5. android橡皮擦擦图片功能
  6. 大白菜U盘安装win10操作系统
  7. C语言占位符 格式占位符
  8. 解决windows10 时间轴灰色的活动历史记录无法删除的问题
  9. 2015美国大学计算机科学专业排名,USNews2015美国大学计算机科学专业研究生排名...
  10. 使用UI框架时 css不生效 使用/deep/完美解决避免污染全局样式