阿里云短信验证码+Java开发

准备

1.注册账号

2.免费试用

连接: [link]https://free.aliyun.com/ntms/free/personal.html?handle=true.
在这里插入图片描述之后会有一张问卷,(忘记截了→_→)支付0元,好像是三个月100条,开发阶段够用了

一些设置

1.测试一下

在这里插入图片描述在这里插入图片描述在这里插入图片描述测试能否发送

2.添加自己的签名和模板

在这里插入图片描述在这里插入图片描述审核
在这里插入图片描述在这里插入图片描述模板也一样要审核
之后在列表里可以看到状态
在这里插入图片描述

3.添加用户&用户组

链接: [link]https://ram.console.aliyun.com/overview.
在这里插入图片描述在这里插入图片描述添加用户,给用户创建ak

在这里插入图片描述在这里插入图片描述

代码

1.使用示例

在这里插入图片描述测试一下
在这里插入图片描述这里要注意
在这里插入图片描述

2.导jar包

我的是SSH项目,所以要导两个包
aliyun-java-sdk-core-x.x.x.jar
复制打开:sdk-release2.oss-cn-hangzhou.aliyuncs.com/tarfiles/aliyun-java-sdk-core-4.1.0.jar?spm=a2c4g.11186623.2.16.ec1660e2MxZlap&file=aliyun-java-sdk-core-4.1.0.jar
gson-x.x.x.jar(这个我一开始没导就报错了)一定要buildpath,不然也会报错
[链接]http://repo1.maven.org/maven2/com/google/code/gson/gson/

2.写代码

生成验证码的类

public static int createRN() {
		StringBuffer stringBuffer = new StringBuffer();
		for (int i = 0; i < 5; i++) {
			int random = (int) (Math.random() * (10 - 1));
			stringBuffer.append(random);
		}
		String string = stringBuffer.toString();
		int number = Integer.parseInt(string);
		System.out.println(number);
		if (number < 10000) {
			return createRN();
		} else {
			return number;
		}
	}

调用阿里SendSms

public class SendMessage {
	public static int sendMsg(String shoujihao) {
	//这两个是上一部分第三步的,要改成你自己的
		final String accessKeyId = "XXXXXXXXXXXXXXXX";
		final String accessSecret = "XXXXXXXXXXXXXXXXXXXX";
		
		
		DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessSecret);
		IAcsClient client = new DefaultAcsClient(profile);
		
		int yzm = createRN();

		CommonRequest request = new CommonRequest();
		request.setMethod(MethodType.POST);
		request.setDomain("dysmsapi.aliyuncs.com");
		request.setVersion("2017-05-25");
		request.setAction("SendSms");
		request.putQueryParameter("RegionId", "default");
		request.putQueryParameter("PhoneNumbers", “接收验证码的手机号”);
		request.putQueryParameter("SignName", "你的签名");
		request.putQueryParameter("TemplateCode", "你的模板code");
		//这里要注意写成"{\"code\":\"123456\"}"这种,我一开始直接写的,会报JSON参数不合法
		request.putQueryParameter("TemplateParam", "{\"code\":\""+yzm+"\"}");
		try {
			CommonResponse response = client.getCommonResponse(request);
			System.out.println(response.getData());
		} catch (ServerException e) {
			e.printStackTrace();
		} catch (ClientException e) {
			e.printStackTrace();
		}
		return yzm;

	}

最后

第一次写,超认真的,其实是很简单的一个事,但是第一次弄真的一头雾水,现在整理好,给像前几天的我一样的小白→_→

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值