JAVA阿里云短信接口调用-傻瓜式教程

java 专栏收录该内容
10 篇文章 0 订阅

1、首先登陆阿里云,创建账号登陆(可以直接使用支付宝登陆),找到控制台->云通信->短信服务。点击进入。
在这里插入图片描述

2、进入到短信服务控制台后,首先申请自己的AccessKey.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
申请到后会给你生成一个excel表格,里面存放的就是自己的AK,需要自己保存,后面在代码中测试时会用到,在沙箱环境下不用填写。

3、拿到AK后,可以到看到短信服务控制台里面有一个快速学习,进去可以使用平台提供的短信模板和签名试用(前提是账户中有余额,不购买套餐默认是0.045一条,作为个人开发者来说已经很便宜了,账上充值10元就足矣),如果需要使用自己的签名和模板,需要提交申请,一般情况下很快就会通过,通过之后就可以使用自己的签名和模板进行测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.当所有东西准备就绪后,就可以到调试环境中进行调试
在这里插入图片描述
其中,短信模板变量对应的实际值为JSON格式,即键值对的形势,你的模板中有几个就要在输入框中写几个JSON格式变量,上图中我给出了一个例子(因为我的模板中只有一个参数)。调试成功返回如下,若失败会有提示错误代码,可以在帮助文档中找到是什么原因。
在这里插入图片描述
当调试成功后,可以直接将代码复制下来,因为在调试时填入的信息都动态加入到代码中,接下来可以到编译器中测试。
4、下载JAR包,导入JAR包后即可在编译器中测试。由于我用的编译器是eclipse,所以我就以eclipse为例。需要使用三个JAR包(aliyun-java-sdk-core-4.1.0.jar、aliyun-java-sdk-dysmsapi-1.1.0.jar、gson-2.8.5.jar),我已经将这三个jar包上传了,点击下载
5、将jar包导入项目,然后将台式成功的代码直接复制下来放到项目中就可以测试了。

import java.util.Random;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;

public class PhoneCode {
	/**
	 * @param phone
	 *            发送到的手机号
	 * @param code
	 *            验证码内容
	 */
	public static void sendCode(String phone, String code) {
		//此处放AccessKeyID和AccessKeySecret
		DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<AccessKeyID>","<AccessKeySecret>");
		IAcsClient client = new DefaultAcsClient(profile);

		CommonRequest request = new CommonRequest();
		request.setMethod(MethodType.POST);
		request.setDomain("dysmsapi.aliyuncs.com");
		request.setVersion("2017-05-25");
		request.setAction("SendSms");
		request.putQueryParameter("RegionId", "cn-hangzhou");
		//此处放接收验证码的手机号
		request.putQueryParameter("PhoneNumbers", phone);
		//此处放签名名称(必须审核通过)
		request.putQueryParameter("SignName", "<短信签名>");
		//此处放短信模板(必须审核通过)
		request.putQueryParameter("TemplateCode", "<短信模板>");
		//此处放验证码的内容(JSON格式\"表示转义。JSON格式:{"code":"666666"})
		request.putQueryParameter("TemplateParam", "{\"code\":\"" + code + "\"}");
		try {
			CommonResponse response = client.getCommonResponse(request);
			System.out.println(response.getData());
		} catch (ServerException e) {
			e.printStackTrace();
		} catch (ClientException e) {
			e.printStackTrace();
		}
	}

	/**
	 * @return 随机生成的6位验证码
	 */
	public static String getCode() {
		StringBuilder sb = new StringBuilder();
		for (int i = 0; sb.length() < 6; i++) {
			int num = new Random().nextInt(10);
			sb.append(num);
		}
		return sb.toString();
	}
}

编写Test类测试:

public class Test {

	public static void main(String[] args) {
		PhoneCode phoneCode = new PhoneCode();
		// 获取随机验证码
		String code = phoneCode.getCode();
		// 接收短信的手机号
		String phone = "13333333333";
		// 调用发短信的方法
		phoneCode.sendCode(phone, code);
	}
}

如果有错误信息,可以到阿里云平台查询帮助文档。

  • 4
    点赞
  • 15
    评论
  • 13
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值