文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用java实现手机短信验证全过程

2024-04-02 19:55

关注

一、容联云平台

容联云平台是实现短信验证、还有语音功能等一些操作的平台,在平台注册还可以获得8元的新手额度,一条短信的费用是006元,也就是6分钱,在初学者测试也是可以非常人性化的,然后我这次进行测试的平台呢,也是用到容联云给进行展示


在这里插入图片描述

二、操作教程

2.1注册

在这里插入图片描述

当你注册进去之后会有8元的新手额度

填写测试号码

在这里插入图片描述

然后这里差不多了跟着下面走着

三、实践操作

3.1部署项目使用工具

本次使用的工具是IDEA,然后我为了简便就直接创建了Maven项目进行开发,因为使用到Maven之后是直接导入SDK的依赖即可,就不需要管jar包了

3.2具体操作

3.2.1、Maven依赖


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

3.2.2、不使用Maven获取JAR包方式

容联云通讯——开发文档——下载(短信Demo下载)——SDK参考(JAVA SDK文档):不使用maven时需要下载jar包,点击JAVA SMS SDK进入maven下载即可

四、测试

4.1、示例代码

在容联云已经有了测试的示例,但是我们还需要稍作修改
下面为SDK的示例示例代码


在这里插入图片描述

这些代码我们可以直接复制过去,等下直接进行使用,当然要注意几点的地方

4.2、修改步骤

4.2.1、容联云的相关账号信息

在这里插入图片描述

这三个里面的数据就是填写你容联云内的开发者账号内容

在这里插入图片描述

这是我们要修改的地方之一,修改的内容为
(1)accountSId
(2)accountToken
(3)appId

4.2.2、修改测试号码等信息

那么等我们把账户信息修改完之后呢,还需要哪些
你在发送的时候是不是需要一个6位的随机数!安排,只需要一条代码


//随机生成6位数字为验证码
String code = String.valueOf(Math.random()).substring(2, 8);
System.out.println(code);

我们再来看看运行效果


在这里插入图片描述

当然还有就是你的手机号、还有模板、模板的一些参数

这里的模板就是容联云的一个模板了


在这里插入图片描述

我选的登录模板,所以选1就好


//需要把验证号转发到的手机号码
        String to = "1560*******";
        //在短信管理中选择模板ID,我选择的是1
        String templateId = "1";
        //模板参数
        String[] datas = {code,"30分钟"};

4.2.3、存放哈希进行判断


//这里是使用了一个哈希map来存放手机号、模板ID、模板参数
        HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);
        //如果返回0000则正常发送,否则返回异常
        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.2.4、测试

运行结束后正常情况没报错后一般是手机立马会收到消息的,然后收的验证码消息是和你的运行结果那串数字是一样的,我们这边进行测试了一下,下面来看下结果吧

(1)运行结果


在这里插入图片描述

(2)手机收到的短信验证结果!


在这里插入图片描述

可以看得到短信验证成功了
下面我在把我的总体测试代码发在下面,但是要记得把相关的一些数据改成自己的不然会报错呢

总体测试代码


package demo;

import com.cloopen.rest.sdk.BodyType;
import com.cloopen.rest.sdk.CCPRestSmsSDK;
import java.util.HashMap;
import java.util.Set;


public class SmsDemo {

    public static void main(String[] args) {
        //生产环境请求地址:app.cloopen.com
        String serverIp = "app.cloopen.com";
        //请求端口
        String serverPort = "8883";
        //主账号,登陆云通讯网站后,可在控制台首页看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKEN
        String accountSId = "请填写accountSId ";
        String accountToken = "请填写accountToken ";
        //请使用管理控制台中已创建应用的APPID
        String appId = "请填写appId ";
        CCPRestSmsSDK sdk = new CCPRestSmsSDK();
        sdk.init(serverIp, serverPort);
        sdk.setAccount(accountSId, accountToken);
        sdk.setAppId(appId);
        sdk.setBodyType(BodyType.Type_JSON);
        //随机生成6位数字为验证码
        String code = String.valueOf(Math.random()).substring(2, 8);
        System.out.println(code);
        //需要把验证号转发到的手机号码
        String to = "请填写手机号";
        //在短信管理中选择模板ID,我选择的是1
        String templateId = "1";
        //模板参数
        String[] datas = {code,"30分钟"};
        //这里是使用了一个哈希map来存放手机号、模板ID、模板参数
        HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);
        //如果返回0000则正常发送,否则返回异常
        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"));
        }
      }
    }

好了,短信验证其实也是很简单的一个小操作,今天就讲到这

到此这篇关于使用java实现手机短信验证全过程的文章就介绍到这了,更多相关java实现短信验证内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯