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

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

 /**  
* @Title: TestPhoneVerification.java
* @Package org.test
* @Description: TODO该方法的主要作用:
* @author A18ccms A18ccms_gmail_com  
* @date 2017-7-1 下午8:19:35
* @version V1.0  
*/
package org.test;import java.util.Random;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.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;/**   *    * 项目名称:facephoto2   * 类名称:TestPhoneVerification   * 类描述:   * 创建人:Mu Xiongxiong  * 创建时间:2017-7-1 下午8:19:35   * 修改人:Mu Xiongxiong   * 修改时间:2017-7-1 下午8:19:35   * 修改备注:   * @version    *    */
public class TestPhoneVerification {public static void main(String[] args) throws ServerException, ClientException {// 设置超时时间-可自行调整System.setProperty("sun.net.client.defaultConnectTimeout", "20000");System.setProperty("sun.net.client.defaultReadTimeout", "20000");// 初始化ascClient需要的几个参数final String product = "Dysmsapi";// 短信API产品名称final String domain = "dysmsapi.aliyuncs.com";// 短信API产品域名// 替换成你的AKfinal String accessKeyId = "LTAIXhKAji7WzEFx";// 你的accessKeyId,参考本文档步骤2final String accessKeySecret = "7mYMnzCGZ";// 你的accessKeySecret,参考本文档步骤2// 初始化ascClient,暂时不支持多regionIClientProfile profile = DefaultProfile.getProfile("cn-hangzhou",accessKeyId, accessKeySecret);DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product,domain);IAcsClient acsClient = new DefaultAcsClient(profile);// 组装请求对象SendSmsRequest request = new SendSmsRequest();// 必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为20个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式request.setPhoneNumbers("15098932660");// 必填:短信签名-可在短信控制台中找到request.setSignName("光明峰管理平台");// 必填:短信模板-可在短信控制台中找到request.setTemplateCode("SMS_75720062");// 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为int x = new Random().nextInt(1000000);request.setTemplateParam("{\"name\":\"张三\", \"number\":\"" + x + "\"}");// 可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者// request.setOutId("yourOutId");// 请求失败这里会抛ClientException异常SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);if (sendSmsResponse.getCode() != null&& sendSmsResponse.getCode().equals("OK")) {// 请求成功System.out.println("发送成功!");}else if(sendSmsResponse.getCode().equals("isv.BUSINESS_LIMIT_CONTROL")){System.out.println("此号码频繁发送验证码,暂时不能获取!");}System.out.println(sendSmsResponse.getCode());}
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327239.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis-Plus Wrapper条件构造器查询大全

https://blog.csdn.net/weixin_38111957/article/details/91447509 MyBatis-Plus Wrapper条件构造器查询大全 IT贱男 2019-06-11 16:50:44 36133 收藏 66 分类专栏: Mybatis-Plus 版权 码农必备linux技能 本专栏主要从系统安装、入门命令讲解,会不…

使用阿里云身份证扫描识别接口案例——CSDN博客

/*** * Title: idcard* Description: 该方法的主要作用:扫描身份证* param return 设定文件 * return 返回类型:String * throws*/public void idcard(){String host "https://dm-51.data.aliyun.com";String path "/rest/160601/…

.NET异常设计原则

异常是使用.NET时必然会遇到的问题,但是,有太多的开发人员没有从API设计的角度考虑这个问题。在大部分工作中,他们自始至终都知道需要捕获什么异常以及哪些异常需要写入全局日志。如果你设计了可以让你正确使用异常的API,则可以显…

深入理解分布式系统的2PC和3PC

转载自 深入理解分布式系统的2PC和3PC 关注我的博客(http://www.hollischuang.com)的人可能都知道,我之前写过一篇文章专门介绍了一下2PC和3PC(详见:关于分布式事务、两阶段提交协议、三阶提交协议)。上一篇…

java 百度经纬度 转换为 高德经纬度 谷歌

https://lbs.amap.com/api/webservice/guide/api/convert/#convert https://restapi.amap.com/v3/assistant/coordinate/convert?locations116.481499,39.990475&coordsysgps&outputxml&key<用户的key> https://console.amap.com/dev/key/app https://conso…

方法的重写VS重载

方法的重写&#xff08;override&#xff09; 方法的重写 子类从父类中继承方法&#xff0c;有时&#xff0c;子类需要修改父类中定义的方法的实现&#xff0c;这称做方法的重写(method overriding)。“重写”的概念与“重载”相似&#xff0c;它们均是Java“多态”的技术之一&…

使用阿里云火车票查询接口案例——CSDN博客

首先我们需要一个实体类&#xff0c;专门放火车票信息的封装类&#xff0c;实体类&#xff1a; Train.java: /** * Title: Train.java * Package cn.bdqn.guanMingSys.entity * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * dat…

权衡微服务

很多开发团队已经认识到 微服务架构比单体架构更优越。但是也有其他团队感觉到这是一种消弱生产力的负担。就像任何软件架构&#xff0c;微服务架构同样有利弊。为了能做出一个明智的选择&#xff0c;你必须了解这些应用并将它们运用到你特定的环境中。 微服务的优势 具有边界的…

使用IDM下载,不适用默认浏览器下载

google浏览器是不能够安装的除非有v*p*n&#xff08;&#xff09; Firefox浏览器可以安装js脚本 推荐使用 1 google 扩展 IDMan628 扩展程序里面加 IDMGCExt.crx 2 扩展Tampermonkey 加Tampermonkey.crx 3 点击Tampermonkey 的仪表盘 右上角加按钮 百度网盘直接下载助手…

深入分析事务的隔离级别

转载自 [中级]深入分析事务的隔离级别 本文详细介绍四种事务隔离级别&#xff0c;并通过举例的方式说明不同的级别能解决什么样的读现象。并且介绍了在关系型数据库中不同的隔离级别的实现原理。 在DBMS中&#xff0c;事务保证了一个操作序列可以全部都执行或者全部都不执行&am…

使用阿里云智能翻译接口案例——CSDN博客

/*** * Title: getTranslates* Description: 该方法的主要作用&#xff1a;智能翻译* param 设定文件 * return 返回类型&#xff1a;void * throws*/public void getTranslates(){String host "https://dm-11.data.aliyun.com";String path "/rest/160…

ASP.NET Core 中的那些认证中间件及一些重要知识点

前言 在读这篇文章之间&#xff0c;建议先看一下我的 ASP.NET Core 之 Identity 入门系列&#xff08;ASP.NET Core 之 Identity 入门&#xff08;一&#xff09;&#xff0c;ASP.NET Core 之 Identity 入门&#xff08;二&#xff09;&#xff0c;ASP.NET Core 之 Identity 入…

判断个十百千位之后是否大于20 java——CSDN博客

/*** * Title: test_draw_a_lottery_or_raffle* Description: 该方法的主要作用&#xff1a;输入四位数&#xff0c;各位数数字之和大于20 中奖&#xff0c;否则没中奖* param 设定文件 * return 返回类型&#xff1a;void * throws*/Testpublic void test_draw_a_lotte…

mybatis-plus 错误java.lang.NoClassDefFoundError: org/apache/velocity/context/Context

https://blog.csdn.net/qq_39609151/article/details/82855305 mybatis-plus 错误java.lang.NoClassDefFoundError: org/apache/velocity/context/Context Murphy_fly 2018-09-26 16:41:55 27168 收藏 15 分类专栏&#xff1a; 框架 版权 使用mybatis-plus自动生成文件的时…

向上类型转换VS向下类型转换

子类转换成父类时的规则: 将一个父类的引用指向一个子类的对象&#xff0c;称为向上转型(upcasting)&#xff0c;自动进行类型转换。此时通过父类引用调用的方法是子类覆盖或继承父类的方法&#xff0c;不是父类的方法。 此时通过父类引用变量无法调用子类特有的方法&#xff…

彻底理解数据库事务

转载自 彻底理解数据库事务 事务 事务(Transaction)&#xff0c;一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在计算机术语中&#xff0c;事务通常就是指数据库事务。 概念 一个数据库事务通常包含对数据库进行…

.NET 使用 RabbitMQ 图文简介

前言 最近项目要使用RabbitMQ&#xff0c;园里里面已经有很多优秀的文章&#xff0c;Rabbitmq官网也有.net实例。这里我尝试下图文并茂之形式记录下使用的过程。 安装 RabbitMQ是建立在erlang OTP平台下&#xff0c;因此在windows下需要下载并安装以下两个组件&#xff1a; 1. …

使用java交换两个数——CSDN博客

/*** * Title: test_exchange* Description: 该方法的主要作用&#xff1a;交换两个数* param 设定文件 * return 返回类型&#xff1a;void * throws*/Testpublic void test_exchange(){int num1 10;int num2 20;int exchange 0;System.out.println("原来的…

Springboot+MyBatis-plus+postgresSQL 的整合

https://blog.csdn.net/xuxiannian/article/details/99625085 SpringbootMyBatis-pluspostgresSQL 的整合 禛陌 2019-08-15 12:20:10 6752 收藏 7 分类专栏&#xff1a; 技术相关 文章标签&#xff1a; SpringbootMyBatis-pluspostgresSQL 版权 磨叨一下 MyBatis-plus 请…