阿里云短信验证码的实现

[亡魂溺海] 提交于 2020-03-17 22:08:40

阿里云短信验证码的实现

  1. 先上阿里云平台注册

  2. 开通短信服务,注意开通免费,发短信收费,先给自己余额充个值

    1. 打开自己的短信服务界面,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CfnU4x0v-1584353153495)(https://s1.ax1x.com/2020/03/15/83sBIP.png)]

    2. 在概览界面,点击红色框处,进去先行创建自己的 access key,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lcmtbsOF-1584353153496)(https://s1.ax1x.com/2020/03/15/83yMQg.png)]要记住圈住的这两处值[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uY9TYqBe-1584353153497)(https://s1.ax1x.com/2020/03/15/83yxmj.jpg)]

    3. 接下来选择自己要用得范围,如,我选择的是国内消息。

      1. 在签名管理处,先添加 短信签名

      2. 在模板管理处,再添加 短信模板

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NbK3awWf-1584353153498)(https://s1.ax1x.com/2020/03/15/836B38.png)]

    4. 接下来就可以撸代码了

      1. 我使用的是maven工程

      2. 在概览界面处,点击红色圈中的地方,进去之后是自动生成代码的地方

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gcPploew-1584353153498)(https://s1.ax1x.com/2020/03/15/83h2sf.png)]

      3. 在红色圈住的地方,要填上会自动在右边生成代码,直接复制即可,

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qx77m7iY-1584353153499)(https://s1.ax1x.com/2020/03/15/834lOf.png)]

      4. 注意

        1. 此处右侧代码,POM.xml 要求下载的版本可能有点低,我用的是4.4.6

        2. 我的POM.xml 所用

          <dependency>
                      <groupId>com.aliyun</groupId>
                      <artifactId>aliyun-java-sdk-core</artifactId>
                      <version>4.4.6</version>
                  </dependency>
          
        3. 看我的代码吧,注意比对

          package com.yckj.weidemo01.config;
          
          import com.aliyuncs.CommonRequest;
          import com.aliyuncs.CommonResponse;
          import com.aliyuncs.DefaultAcsClient;
          import com.aliyuncs.IAcsClient;
          import com.aliyuncs.exceptions.ClientException;
          import com.aliyuncs.exceptions.ServerException;
          import com.aliyuncs.http.MethodType;
          import com.aliyuncs.profile.DefaultProfile;
          
          /**
           * <p>
           * Title:com.yckj.weidemo01.config
           * </p>
           * <p/>
           * <p>
           * Description: 描述【】
           * </p>
           * <p/>
           * <p>
           * Copyright: Copyright (c) 2020
           * </p>
           * <p/>
           * <p>
           * Company: 太原工业学院
           * </p>
           *
           * @author WeiHuiQiang
           * @version 1.0
           * @created 2020/3/15 17:10
           */
          public class SendSms {
              public static void main(String[] args) {
                  DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
                          "LTAI4FfT6pPcw88P89JCxP6g",       /*你的accessKeyId*/
                          "mUQRBGCqqmgQfyRSOWnwMJqxna557M");    /*你的accessKeySecret*/
                  IAcsClient client = new DefaultAcsClient(profile);
                  CommonRequest request = new CommonRequest();
                  request.setSysMethod(MethodType.POST);
                  request.setSysDomain("dysmsapi.aliyuncs.com");
                  request.setSysVersion("2017-05-25");
                  request.setSysAction("SendSms");
          
                  /*必填-地域名*/
                  request.putQueryParameter("RegionId", "cn-hangzhou");
                  /*发送手机号,可以逗号隔开,实现群发*/
                  request.putQueryParameter("PhoneNumbers", "13546356160");
                  /*必填-短信签名 签名名称*/
                  request.putQueryParameter("SignName", "超人1号");
                  /*必填-短信模板 模板CODE*/
                  request.putQueryParameter("TemplateCode", "SMS_185841746");
          
                  /*必填-模板内容,code,与模板中的 ${code} 对应,切记要以 JSON 字符串填写,例如我的模板内容为:您的验证码:${code},您正进行身份验证,打死不告诉别人!*/
                  request.putQueryParameter("TemplateParam", "{\"code\":\""+ 789465 +"\"}");
          
                  /*可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)
                  request.putQueryParameter("SmsUpExtendCode", "90997");*/
          
                  /*可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
                  request.putQueryParameter("OutId", "yourOutId");*/
                  try {
                      CommonResponse response = client.getCommonResponse(request);
                      System.out.println(response.getData());
                  } catch (ServerException e) {
                      e.printStackTrace();
                  } catch (ClientException e) {
                      e.printStackTrace();
                  }
              }
          }
          
          
        4. 到此结束,直接点击运行即可。

    }
    

    }

    
    4. 到此结束,直接点击运行即可。
    
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!