Java调用阿里云短信通道服务
这里我们使用SpringBoot 来调用阿里通信的服务。
(用哪个框架无所谓,即便是统Java工程也能实现,但需要连网)
阿里通信,双11.收到短信,日发送达6亿条。保障力度非常高。
使用的步骤:
第一步:需要开通账户
第二步:阅读接口文档
秘钥管理
短信签名
短信模板
SDK
这个由阿里云提供。
编译与打包。
打包到本地仓库,或者公司局域网内的私服地址。
Maven打包
第三步:创建SpringBoot工程,导入依赖
第四步:准备页面
关注内容:
第五步:调用阿里通信接口
核心代码:
package com.qf.action;
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.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
import com.qf.utils.AliAccessKey;
import com.qf.utils.RandomStringTLUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
- Thanks for Everything.
*/
@Controller
public class SmsAction {
//显示页面
@RequestMapping("/mt")
private String ui(){
return “mtlogin”;//返回页面
}
@RequestMapping("/ajaxNum")
@ResponseBody
public String sendMsg(String phoneNum) throws ClientException {//拿到手机号
//调用阿里通信接口
//设置超时时间-可自行调整
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 = AliAccessKey.accessKeyId;//你的accessKeyId,参考本文档步骤2
final String accessKeySecret = AliAccessKey.accessKeySecret;//你的accessKeySecret,参考本文档步骤2
//初始化ascClient,暂时不支持多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();
//使用post提交
request.setMethod(MethodType.POST);
//必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
request.setPhoneNumbers(phoneNum);
//必填:短信签名-可在短信控制台中找到
request.setSignName(“短信签名名称”);
//必填:短信模板-可在短信控制台中找到
request.setTemplateCode(“短信模板”);
//可选:模板中的变量替换JSON串,如模板内容为"亲爱的name,您的验证码为{name},您的验证码为name,您的验证码为{code}“时,此处的值为
//友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含 的情况在JSON中需要表示成\r\n,否则会导致JSON在服务端解析失败
//生成几位的验证码
String numeric = RandomStringTLUtils.randomNumeric(6);
request.setTemplateParam(”{“code”:""+numeric+""}");
//可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)
//request.setSmsUpExtendCode(“90997”);
//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
request.setOutId(“qf”);
//请求失败这里会抛ClientException异常
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals(“OK”)) {
//请求成功
//真实应用的时候验证码在服务端有记录
//客户端由客户来输入
//客户输入的验证码和服务端做匹配
return numeric;
}
return “error”;
}
}
第六步:测试
注意:需要收费
Java调用阿里云短信通道服务相关推荐
- Java调用阿里云短信接口,发送短信
Java调用阿里云短信接口,发送短信 1.短信服务这个很简单,只需要知道accessKeyId(AK).accessKeySecret(SK).短信签名.短信模板即可. 2.域名和产品名称是固定的,使 ...
- 【Node.js】 调用阿里云短信验证码服务
目录 1.获取必备的参数 ① 获取 AccessKey ② 获取签名名称和短信模板 code 2.写代码 ① 调用sdk ② 生成六位数验证码 ③ 拿到前端传过来的手机号,调用 API 发送短信 ④ ...
- java 调用阿里云短信接口,报InvalidTimeStamp.Expired : Specified time stamp or date value is expired.
首先官网是这样解释的 简单就是,自己的电脑(或者服务器) 的时间跟阿里云的服务器时间 想差 15分钟了, 解决方法就是 : 把自己的电脑时间 (或者服务器)的时间 改成标准的北京时间就行了.
- java对接阿里云短信服务详解(验证码,推广短信,通知短信)
前言 小前提: - java:springboot框架,maven版本管理. - 阿里云:有账号,已经进行实名认证. java对接阿里云短信服务详解(验证码,推广短信,通知短信) 前言 1. 登录阿里 ...
- springboot项目调用阿里云短信接口(包括短信上行)
最近一直在做项目,很久没有写过博客了,最近做的一个项目中遇到了一个业务需要用到短信功能包括了发送短信和短信回复之后要收到回复内容,阿里云短信服务是一个非常好的平台,里面提供了多种短信接口可以供我们使用 ...
- 阿里云短信验证服务详细基础教程
阿里云短信验证服务 1. 注册一个阿里云的帐号 2. 在搜索栏搜索短信服务 3. 点击免费开通 4.开通之后点击管理控制台 5. 获取AccessKey 6. 创建AccessKey并保存,后面会用到 ...
- TP5调用阿里云短信接口实现发送短信功能
TP5调用阿里云短信接口实现发送短信功能 工作需要,对接阿里云的短信服务,借此记录一下(网站 www.lelee.top) 主要分为两个部分,一是下载官方的Demo事例,这个不需要多说,自己去下载就行 ...
- nodejs 调用阿里云短信
最近公司使用nodejs调用阿里云短信接口发送短信,网上找了很多示例都不行,给的那些都不能正常使用.下面给出我调用成功的示例. 阿里云短信调用实质上就是构建一个http请求可以是post也可以是get ...
- 调用阿里云短信API发送短信通知
调用阿里云短信API发送短信通知 昨天领导让我弄一个短信通知功能,原来也没有搞过,刚接过来的时候亚历山大,感觉很难搞.但是看过官方文档之后还是挺简单的.来让我们看一下这个短信接口怎么搞吧. 首先你需要 ...
- java实现阿里云短信验证注册--详细教程
java实现阿里云短信验证注册–详细教程 .项目中先引入依赖 <!--阿里云短信包--><dependency><groupId>com.aliyun</gr ...
最新文章
- Ubuntu20.04安装zabbix以及Cannot create the configuration file解决
- 失败 安装scikit_scikit-learn0.22版本最新发布
- aspose.words 操作word插入空白页_让 “空白页”无处可逃,消除你的烦恼
- centos 安装低版本内核_Linux 升级内核
- java 正则 多个空格_java正则表达式 多个空格替换多个成-
- PHP导出Excel环境,php怎么导出excel-使用php导出excel的教程 - 河东软件园
- linux之ls只显示文件或者文件夹
- linux 第三章红帽子,红帽子 Linux_命令全解
- 最高法明确:未成年直播打赏可退还
- c语言 动态链表,C语言的链表(篇章之二:动态链表)
- Dell R410服务器查看系统raid级别
- java使用谷歌验证码google captcha
- Elasticsearch自动补全(拼音查询自动补全)
- TextView显示人民币符号¥
- 详解区块链中EOS的作用。
- BootstrapTable中文文档
- 阿里云中间件是什么,有哪些产品
- Facebook - 150亿张照片海量存贮架构
- 超简单,为自己的项目增加微信消息提醒功能
- code review的思考和实践
热门文章
- php远程登录linux,如何远程连接linux桌面
- T31-DAY20(JWT的介绍和使用)
- java读取文件相对路径_Java相对路径读取文件
- 电视剧:我的团长我的团
- Windows套接字I/O模型(3) -- WSAAsyncSelect模型
- jordan标准 相似_Jordan 标准型定理
- postgresql中实现按周统计详解
- Matlab实现sift特征检测和两幅图像的特征点匹配(D. Lowe)
- 微信开放平台apk应用签名获取
- 单片机七阶音符_单片机教程二十七:单片机音乐程序设计(含源程序)