Java发送短信验证码免费测试(数字和字母混合验证码)

  • Post author:
  • Post category:java


1.注册账号市面上一个有很多

这个我给用的容联云

管理控制台 (yuntongxun.com)

注册之后,送你8块钱,一条短信6分钱,只可以绑定三个测试账号。

来接收验证码。


2.获取连接(复制先来一会要用)


3编写java类(这边我已经封装好了)

需要传入一个电话和验证码。电话肯定要是你设置的那仨个

public void setCode(String phone,String code) {
        //生产环境请求地址:app.cloopen.com
        String serverIp = "app.cloopen.com";
        //请求端口
        String serverPort = "8883";
        //主账号,登陆云通讯网站后,可在控制台首页看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKEN
        String accountSId = "";
        String accountToken = "";
        //请使用管理控制台中已创建应用的APPID
        String appId = "";
        CCPRestSmsSDK sdk = new CCPRestSmsSDK();
        sdk.init(serverIp, serverPort);
        sdk.setAccount(accountSId, accountToken);
        sdk.setAppId(appId);
        sdk.setBodyType(BodyType.Type_XML);
        //添加你自己的手机号
        String to = "17813073803";
        String templateId = "1";
        String[] datas = {code};
        //  String subAppend="1234";  //可选	扩展码,四位数字 0~9999
        //  String reqId="***";  //可选 第三方自定义消息id,最大支持32位英文数字,同账号下同一自然天内不允许重复
        HashMap<String, Object> result = sdk.sendTemplateSMS(to, templateId, datas);
        //  HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas,subAppend,reqId);
        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.生成验证码

我写了一个生成4位字母数字验证

public  String getCode(){
        String str="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        StringBuilder sb=new StringBuilder(4);
        for(int i=0;i<4;i++)
        {
            char ch=str.charAt(new Random().nextInt(str.length()));
            sb.append(ch);
        }
        System.out.println(sb.toString());
        return sb.toString();
    }

5.我的使用

封装好一起调用



版权声明:本文为weixin_65451442原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。