博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java小项目之阿里云短信服务(图解超详细)
阅读量:3897 次
发布时间:2019-05-23

本文共 3556 字,大约阅读时间需要 11 分钟。

首先对于阿里云的服务,当然是需要注册登录阿里云的账号。

然后通过这个链接
到短信服务的地方

在这里插入图片描述

可以点击管理控制台来开通这个服务
开通之后他会自动到这个界面
在这里插入图片描述
可以去
再仔细的看看。
接下来主要的步骤就是
1.获取AccessKey
2.创建签名和模板

首先是获取AccessKey

在这里插入图片描述
(这里如果没有创建用户的得创建一下)
就可以在右下角创建了(要记得自己保存一下)

然后就是创建短信签名和模板了

在这里插入图片描述
但是呢这个文档写的乱糟糟的,就记得在这个地方添加就行了
在这里插入图片描述
然后就需要等待审核一下。。。。

审核结束之后就需要对代码进行书写

首先是导入对应的.jar
可以是手动下载,也可以直接在maven下的pom文件里复制下面的代码直接自动配置

com.aliyun
aliyun-java-sdk-core
4.0.8
com.aliyun
aliyun-java-sdk-dysmsapi
1.1.0
com.google.code.gson
gson
2.8.4

如果这边出现报错的话,可以参考这篇博客来解决错误

再贴代码,这边是需要一些修改的,修改的已经写在备注里了

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;public class dd {
public static void main(String[] args) throws ClientException {
//随机生成六位随机数 StringBuffer stringBuffer=new StringBuffer(); for (int x=0;x<=5;x++) {
int random = (int) (Math.random() * (10 - 1)); stringBuffer.append(random); } String string = stringBuffer.toString(); int i = Integer.parseInt(string);// System.out.println(i); //设置超时时间-可自行调整 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 = "LTAIhbdKGluLaFhY";//你的accessKeyId,参考本文档步骤2 final String accessKeySecret = "gt7DdJEk6j8Xh4p5VlfbTuU7XUt6jCc3";//你的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个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式;发送国际/港澳台消息时,接收号码格式为00+国际区号+号码,如“0085200000000” request.setPhoneNumbers("176dxxxxxx"); //必填:短信签名-可在短信控制台中找到 request.setSignName("短信测试"); //必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版 request.setTemplateCode("SMS_1283852506"); //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 //友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败 request.setTemplateParam("{\"customer\":\""+i+"\"}"); //可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段) //request.setSmsUpExtendCode("90997"); //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 request.setOutId("yourOutId");//请求失败这里会抛ClientException异常 SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {
// System.out.println("OK"); } }}

转载地址:http://nsfen.baihongyu.com/

你可能感兴趣的文章
网络之Snmp的学习总结
查看>>
WIFI之服务器系统设计组成
查看>>
Linux之Arinc驱动设计草图
查看>>
Linux之grub.conf的内容介绍
查看>>
网址之Curl API整理说明
查看>>
Python之ftp的用法整理
查看>>
MStar之公司简介
查看>>
STB之业务架构图
查看>>
WebKit之Port篇幅介绍
查看>>
WebKit之Binding案例(testCallback.idl)
查看>>
WebKit之binding分析案例(testInterface.idl)
查看>>
WebKit之binding案例分析(testMediaQueryListListener.idl)
查看>>
Webkit之generate-bindings.pl源码分析
查看>>
WebKit之CodeGenerate-JS的perl脚本的分析和学习
查看>>
Linux之死锁的代码体验
查看>>
WebKit之webIDL详解
查看>>
WebKit之创建Event的2种方法
查看>>
CPP之中介者设计模式
查看>>
Event的三个阶段
查看>>
WebKit之MediaPlayer的简单分析
查看>>