首页 /  技术专区  /  Java /  java使用容联云通信进行短信验证码实现 屏幕太窄?试试伸展一下吧 >

java使用容联云通信进行短信验证码实现

我们在登录一些大型网站的时候,总是会有一些短信验证,例如淘宝、支付宝、京东等网站,那么短信验证码发送的功能是怎么实现的呢?在这里我将带领大家探讨一下。

这次我选用容联云通讯的短信发送平台,注册会送话费,所以足够我们做测试用。

我们注册配置好测试账号,大概就是这个界面,具体怎么注册、配置测试账号、这里我们主要讲代码配置,注册好了大概就是下图这个样子:

image.png

容联云通讯官网:https://www.yuntongxun.com/

免费测试指南:https://doc.yuntongxun.com/p/5a531a353b8496dd00dcdfe2

1、前提条件

  • 安装Java环境。云通讯 Java SMS SDK要求使用JDK1.7或更高版本

  • 已经注册云通讯账号且已获取token,并已开通应用

2、导入maven依赖

<dependency>
    <groupId>com.cloopen</groupId>
    <artifactId>java-sms-sdk</artifactId>
    <version>1.0.1</version>
</dependency>

3、编写发送短信测试方法

package com.allen.utils;

import com.cloopen.rest.sdk.BodyType;
import com.cloopen.rest.sdk.CCPRestSmsSDK;
import org.junit.Test;

import java.util.HashMap;
import java.util.Set;

public class SDKTestSendTemplateSMSTest {

    @Test
    public void SMSTest(){
        //生产环境请求地址:app.cloopen.com
        String serverIp = "app.cloopen.com";
        //请求端口
        String serverPort = "8883";
        //主账号,登陆云通讯网站后,可在控制台首页看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKEN
        String accountSId = "8aaf07*********************2b61eea";
        String accountToken = "07c565***********************b70110";
        //请使用管理控制台中已创建应用的APPID
        String appId = "8aaf*************************c1ef0";
        CCPRestSmsSDK sdk = new CCPRestSmsSDK();
        sdk.init(serverIp, serverPort);
        sdk.setAccount(accountSId, accountToken);
        sdk.setAppId(appId);
        sdk.setBodyType(BodyType.Type_JSON);
        //发送短信至手机号
        String to = "152******080";
        //短信模板
        String templateId= "1";
        //这里模拟一下验证码123456,10分钟内到期
        String[] datas = {"123456","10"};
        HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);
        if("000000".equals(result.get("statusCode"))){
            //正常返回输出data包体信息(map)
            HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
            Set<String> keySet = data.keySet();
            for(String key:keySet){
                Object object = data.get(key);
                System.out.println(key +" = "+object);
            }
        }else{
            //异常返回输出错误码和错误信息
            System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
        }
    }
}

4、启动测试

image.png

手机收到验证码,完成!

WechatIMG656.jpeg



0/200