java WEB调用秒嘀科技短信验证接口(实现短信验证登录)

java WEB调用秒嘀科技短信验证接口(实现短信验证登录)

前言

短信验证登咱就不多说了,为什么推荐用秒嘀的呢,应为他会送你10元钱,对于新手来说10元钱,足够你玩了。但是秒嘀的其它功能需要上传营业执照。

注册秒嘀云账号

http://www.miaodiyun.com/auth/login

登录秒嘀云官网

获取ACCOUNT SID和AUTH TOKEN并创建对应类型短信的模板
跟进秒嘀运营人员审核通过该模板。
在这里插入图片描述
在这里插入图片描述
提交之后,需要等待审核,如果审核不通过,会有错误信息,自行修改,直到通过为止。

代码

下载官方的接口代码,里面有java和python,自行解压,今天只说java
在这里插入图片描述
会有四个包,全都导进去

在这里插入图片描述
需要填写的东西在登录秒嘀就知道了
在这里插入图片描述
在这里插入图片描述
我修改的 IndustrySMS类,添加了随机的6位数字,当做验证码

package com.miaodiyun.httpApiDemo;

import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;

import com.miaodiyun.httpApiDemo.common.Config;
import com.miaodiyun.httpApiDemo.common.HttpUtil;

/**
 * 验证码通知短信接口
 * 
 * @ClassName: IndustrySMS
 * @Description: 验证码通知短信接口
 * 
 */
public class IndustrySMS {
	private static String operation = "/industrySMS/sendSMS";

	private static String accountSid = Config.ACCOUNT_SID;
	/*private static String to = "";*/

	public static String getSCode() {
		Random random = new Random();
		String str = random.nextInt(1000000) + "";
		if (str.length() != 6) {
			
			return getSCode();
		}

		return "【自己申请的短信签名】您的验证码为" + str + ",请于30分钟内正确输入,如非本人操作,请忽略此短信。";
		//【】后面的是申请成功的短信内容str是6位验证码,注意拼接方式
	}

	/**
	 * 验证码通知短信
	 */
	public static Map<String,String> execute(String id) {
		Map<String,String> map=new HashMap<String,String>();
		String tmpSmsContent = null;
		try {
			String SCode =getSCode();
			map.put("SCode", SCode);
			tmpSmsContent = URLEncoder.encode(SCode, "UTF-8");
			
		} catch (Exception e) {

		}
		String url = Config.BASE_URL + operation;
		String body = "accountSid=" + accountSid + "&to=" + id + "&smsContent="
				+ tmpSmsContent + HttpUtil.createCommonParam();

		// 提交请求
		String result = HttpUtil.post(url, body);

		return  map;
	}
}

你只需要调取 IndustrySMS类的execute方法就可以了(注意:execute方法需要传一个手机号给这个方法)execute返回一个map集合,是6位的验证码。你可以把验证码存到redis数据库中设置一个过期时间,然后前端查询是否有这个验证码。我的建议是把传入的手机号和生成的验证码都放到数据库中。查的时候以这两个条件查出来。

发布了17 篇原创文章 · 获赞 21 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43583597/article/details/89742457
今日推荐