在进行短信验证码的发送之前需要先进行前期的准备工作:
1、获取阿里云访问密钥,秘钥成对(AccessKeyId 与 AccessKeySecret)生成和使用。(阿里大于申请)
2、短信签名和短信模板(需要短信签名的名称和短信模板的模板code)
下面是阿里大于下载的demo,里面你很详细的说明了需要依赖的jar包。由于maven中没有相关jar包,需要我们先下载jar包并导入到本地库中。
导jar包到本地库
package com.alicom.dysms.api;

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.dysmsapi.transform.v20170525.SendSmsResponseUnmarshaller;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.http.FormatType;
import com.aliyuncs.http.HttpResponse;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;

import java.nio.charset.Charset;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

/**
* Created on 17/6/7.
* 短信API产品的DEMO程序,工程中包含了一个SmsDemo类,直接通过
* 执行main函数即可体验短信产品API功能(只需要将AK替换成开通了云通信-短信产品功能的AK即可)
* 工程依赖了2个jar包
* 1:aliyun-java-sdk-core.jar
* 2:aliyun-java-sdk-dysmsapi.jar
*
* 备注:Demo工程编码采用UTF-8
* 国际短信发送请勿参照此DEMO
*/
public class SmsDemo {

//产品名称:云通信短信API产品,开发者无需替换
static final String product = "Dysmsapi";
//产品域名,开发者无需替换
static final String domain = "dysmsapi.aliyuncs.com";// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
static final String accessKeyId = "**yourAccessKeyId**";
static final String accessKeySecret = "**yourAccessKeySecret**";public static SendSmsResponse sendSms() throws ClientException {//可自助调整超时时间System.setProperty("sun.net.client.defaultConnectTimeout", "10000");System.setProperty("sun.net.client.defaultReadTimeout", "10000");//初始化acsClient,暂不支持region化IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);IAcsClient acsClient = new DefaultAcsClient(profile);//组装请求对象-具体描述见控制台-文档部分内容SendSmsRequest request = new SendSmsRequest();//必填:待发送手机号request.setPhoneNumbers("**15000000000**");//必填:短信签名-可在短信控制台中找到request.setSignName("**云通信**");//必填:短信模板-可在短信控制台中找到request.setTemplateCode("**SMS_1000000**");//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为//此处需要传入json串,可以使用map集合put相应的参数,再由JSON.toJSONString()转为json串request.setTemplateParam("{\"name\":\"Tom\", \"code\":\"123\"}");//选填-上行短信扩展码(无特殊需求用户请忽略此字段)//request.setSmsUpExtendCode("90997");//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者request.setOutId("yourOutId");//hint 此处可能会抛出异常,注意catchSendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);return sendSmsResponse;
}public static QuerySendDetailsResponse querySendDetails(String bizId) throws ClientException {//可自助调整超时时间System.setProperty("sun.net.client.defaultConnectTimeout", "10000");System.setProperty("sun.net.client.defaultReadTimeout", "10000");//初始化acsClient,暂不支持region化IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);IAcsClient acsClient = new DefaultAcsClient(profile);//组装请求对象QuerySendDetailsRequest request = new QuerySendDetailsRequest();//必填-号码request.setPhoneNumber("15000000000");//可选-流水号request.setBizId(bizId);//必填-发送日期 支持30天内记录查询,格式yyyyMMddSimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");request.setSendDate(ft.format(new Date()));//必填-页大小request.setPageSize(10L);//必填-当前页码从1开始计数request.setCurrentPage(1L);//hint 此处可能会抛出异常,注意catchQuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);return querySendDetailsResponse;
}public static void main(String[] args) throws ClientException, InterruptedException {//发短信SendSmsResponse response = sendSms();System.out.println("短信接口返回的数据----------------");System.out.println("Code=" + response.getCode());System.out.println("Message=" + response.getMessage());System.out.println("RequestId=" + response.getRequestId());System.out.println("BizId=" + response.getBizId());Thread.sleep(3000L);//查明细if(response.getCode() != null && response.getCode().equals("OK")) {QuerySendDetailsResponse querySendDetailsResponse = querySendDetails(response.getBizId());System.out.println("短信明细查询接口返回数据----------------");System.out.println("Code=" + querySendDetailsResponse.getCode());System.out.println("Message=" + querySendDetailsResponse.getMessage());int i = 0;for(QuerySendDetailsResponse.SmsSendDetailDTO smsSendDetailDTO : querySendDetailsResponse.getSmsSendDetailDTOs()){System.out.println("SmsSendDetailDTO["+i+"]:");System.out.println("Content=" + smsSendDetailDTO.getContent());System.out.println("ErrCode=" + smsSendDetailDTO.getErrCode());System.out.println("OutId=" + smsSendDetailDTO.getOutId());System.out.println("PhoneNum=" + smsSendDetailDTO.getPhoneNum());System.out.println("ReceiveDate=" + smsSendDetailDTO.getReceiveDate());System.out.println("SendDate=" + smsSendDetailDTO.getSendDate());System.out.println("SendStatus=" + smsSendDetailDTO.getSendStatus());System.out.println("Template=" + smsSendDetailDTO.getTemplateCode());}System.out.println("TotalCount=" + querySendDetailsResponse.getTotalCount());System.out.println("RequestId=" + querySendDetailsResponse.getRequestId());}}

}

阿里大于短信验证码简单实现相关推荐

  1. egg.js 调用阿里云(阿里大于)短信验证码服务

    1.开通阿里云短信服务 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 可以免费申请 企业短信验证码 200条 重点是: 签名名称:接收验证码内容时,[]里的文字. 短信模板code:相当于 ...

  2. 阿里大于短信验证码 发送失败的两类情况(触发天级流控、黑名单)

    使用时,有两种发送失败的现象 第一种:开发者可以捕捉到的 比如阿里大于有一个业务限流,如下图 发送频率超过图中限制时,会返回错误码及错误信息如下: 引起这种可捕捉的错误情况很多,详细请查看阿里大于AP ...

  3. asp.net mvc 接入阿里大于 短信验证码发送

    项目前端页面实例 第1步:登录阿里大于控制台 https://www.alidayu.com/center/user/account?spm=0.0.0.0.P1K1jG 第2步:创建应用 第3步:配 ...

  4. 阿里大于短信验证码接口

    1.发送验证码失败       code==0 2.发送验证码成功       code==1 3.已发送验证码           code==1 4.手机号已注册   阿里大于的接口 注意:阿里大 ...

  5. 阿里短信 ajax,阿里大于-短信验证码接口

    申请配置信息: 1.短信验证:阿里大鱼(http://www.alidayu.com/) 2.创建应用 3.下载nodejs的sdk 一.下载super-alidayu短信验证组建 npm insta ...

  6. 阿里大于短信平台Python版教程

    阿里大于短信验证码: 阿里大于介绍: 阿里大于是一个通信平台,通过这个平台,中小企业及开发者可以在最短的时间内实现短信验证码发送.短信服务提醒.语音验证码.语音服务通知.IVR及呼叫中心.码号.后向流 ...

  7. 阿里大于短信——发送手机验证码

    使用阿里大于的短信服务需要先去开通相应服务,具体过程:https://www.jb51.net/article/171902.htm,https://www.cnblogs.com/shubs/p/1 ...

  8. Java 阿里大于短信功能

    最近做了阿里大于短信的功能,记录一下 创建应用,并记录下应用的KeyId 及 KeySecret 下载sdk 准备完毕,直接上代码 随便弄个  controller @ApiOperation(&qu ...

  9. 阿里大于短信发送调用

    阿里大于使用文档 Sdk 所需sdk文件:taobao-sdk-java-auto_1455552377940-20160607.jar 下载地址:https://www.alidayu.com/ce ...

最新文章

  1. Spring MVC拦截器实现
  2. Last-Modified、If-Modified-Since 实现缓存和 OutputCache 的区别
  3. jQuery中.html(“xxx”)和.append(xxx)的区别和不同
  4. 训练softmax分类器实例_第四章.模型训练
  5. Android 插件化原理解析——插件加载机制
  6. HBase 1.x Coprocessor使用指南
  7. esp32 cam工作电流_我如何在家工作:Cam的生产力之痛
  8. 查看linux电脑总内存,如何查看Linux系统中的内存使用情况的命令呢?
  9. java jsp ajax_ajax的json传值方式在jsp页面中的应用
  10. quickreport 加急!!!
  11. (二)golang数组和切片
  12. minGW, cygwin, GnuWin32【C++的跨平台交叉编译问题】
  13. HDFS文件权限不足导致Sqoop执行失败
  14. 并发与计算机体系结构
  15. Linux下编写 makefile 详细教程
  16. 1.Kettle下载与安装
  17. jenkins停止僵尸作业Click here to forcibly terminate running steps
  18. LimeWire Basic 4.8.1 for Linux(转)
  19. 网络类型NAT3改NAT1 基于(联通)光猫桥接、路由器红米AX5、win10系统
  20. Cross Domian iFrame Exceptions 跨域iFrame屏蔽例外

热门文章

  1. 小米平板8.0系统怎么样无root激活Xposed框架的步骤
  2. pycharm的使用技巧与遇到的问题
  3. mysql统计期初库存_商品库存统计 - 学习 进步 - OSCHINA - 中文开源技术交流社区...
  4. 安装svn小乌龟的心得
  5. Office EXCEL 表格如何设置某个单元格是选择项,如何设置一级下拉菜单
  6. MongoDB入门操作汇总
  7. 中加石墨再冲刺港交所上市:2022年初至今收入为零,陈东尧为CEO
  8. 人生不如意十之八九!
  9. 拼多多,为穷人服务不是你卖假货的理由!
  10. 《忏悔录》法—让雅克.卢梭