Java的短信接口的使用

                                                基于阿里大于的升级后的短信接口的使用案例

一:阿里大于的短信接口:

           1.1由于阿里大于全面升级成阿里云 云通信,这样给一些新手的朋友带来了一些使用上的一点不方便.下面是阿里云的网址:

            https://dayu.aliyun.com/

           1.2新用户的注册:

           

                    新用户注册就送两百条短信的,作为测试练习使用还是够的.有点小激动吧,快去注册一个吧.

                

                1.3:升级后,关于业务的操作都要到控制台去完成的,新的用户需要使用支付宝或淘宝的账号进行实名认证的.这个按照提示的操作的就可以顺利完成的.

   

                之后就可以使用相应的服务了:这里以个人的用户介绍:

                             



                          1.4  那个短信签名和短信的模板都需要申请的,根据自己测试的需要来按照格式申请就没啥问题的.

Access Key ID 和Access Key Secret的查看.
               这样就可以看到,那个Access Key Secret的查看是需要手机短信的验证,按照操作了就可以了.

              下面就是下载SDK:如下图所示:这里以Java语言为例.

            

             1.5:下载后拿到工具包后,就可以开始开发Demo了.创建一个普通的Java工程就可以了.把那个jar包导进来如下图说是:

             

                一个使用的流程简单总结:

获取SDK----->获取Demo
下载获取jar包.
Maven的jar包依赖
获取源码
阿里云的访问秘钥生成
Access Key ID 和Access Key Secret的查看.
添加短信签名------>签名格式正确被审核通过.
添加短信模板------>段兴的模板内容格式正确被审核通过.
编写完后进行模板预览查看效果.
验证码,短信推广,短信通知三类.
这里演示的是验证码的,短信通知也是一样的道理就是多配置几个参数,例如${name} ${date}等等.

            1.6:创建一个类进行测试:

         package com.ix.message;
         import com.aliyuncs.DefaultAcsClient;
         import com.aliyuncs.IAcsClient;
         import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
         import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
         import com.aliyuncs.exceptions.ClientException;
         import com.aliyuncs.http.MethodType;
         import com.aliyuncs.profile.DefaultProfile;
         import com.aliyuncs.profile.IClientProfile;
         public class SmsDemo{
         public static void main(String[] args) throws ClientException {
           sendCode();
       }
        //封装发送短信的方法
     public static void sendCode() throws ClientException{
        //设置超时时间-可自行调整
        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
        System.setProperty("sun.net.client.defaultReadTimeout", "10000");
        //初始化ascClient需要的几个参数
        final String product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改)
        final String domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)
        //替换成你的AK
        final String accessKeyId = "";//你的accessKeyId,参考本文档步骤2
        final String accessKeySecret = "";//你的accessKeySecret,参考本文档步骤2
        //初始化ascClient,暂时不支持多region
        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,
        accessKeySecret);
        DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
        IAcsClient acsClient = new DefaultAcsClient(profile);
         //组装请求对象
         SendSmsRequest request = new SendSmsRequest();
         //使用post提交
         request.setMethod(MethodType.POST);
         //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
         request.setPhoneNumbers("");//你要发送给的用户手机号码
         //必填:短信签名-可在短信控制台中找到
         request.setSignName("你的短信签名");
         //必填:短信模板-可在短信控制台中找到
         request.setTemplateCode("你的短信模板的ID");//在模板里面就可以找到的.
         //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
         //获取验证码
         String code=getCode();
         //友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
         request.setTemplateParam("{\"code\":\""+code+"\"}");
         //可选-上行短信扩展码(无特殊需求用户请忽略此字段)
         //request.setSmsUpExtendCode("90997");
         //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
         //request.setOutId("yourOutId");
        //请求失败这里会抛ClientException异常
        SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
        if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {
          System.out.println("请求成功!");
        }
    }
      //封装生成6位随机数的方法
      public static String getCode(){
          String code="";
          for(int i=0;i<6;i++){
              code+=(int)Math.floor(Math.random()*10);
          }
          return code;
    }
}

     直接运行就可以发送过去了.快去试试吧.

        测试代码就是这样的:那个6位随机数的是需要自己编码生成.

        这个是Java版的,如果要做成JavaWeb版的,用户注册的时候就可以使用的Ajax,绑定一个文本框,用户输入手机验证密码然后传值给后台,  将传入的值和存在session中的code进行比较就可以了.思路就是这样的.

              短信发送完毕后可以查看发送的结果:

                                       

     再次查看发送短信后收费的情况:

    

                至此Java语言接入阿里云的短信发送完毕,总结后以后就可以项目中修修改改直接用了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大道之简

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值