使用Java代码发送短信验证码(阿里云短信验证码服务的简单使用)

阿里云短信验证码服务的简单使用

点击这里去注册一个阿里云账户,进行短信服务申请>>>>>>>>阿里云地址
转载请标明出处,谢谢合作!🤢🤢🤢

1.首先,你需要注册一个阿里云账户

2.然后,注册完以后登录,记得实名认证!

(咳咳,小小吐槽下,我都注册完了,还得再登录下,用户体验`(>﹏<)′,嘿嘿嘿嘿😁,你懂得)

3.点击左上角三条杠,找到短信服务

在这里插入图片描述

点击左侧国内消息,然后申请一个签名和一个模板(注意:签名的类型是验证码,模板也必须是验证码类型,签名是通用类型,模板随意,通用的申请比较难搞,验证码相对简单一点,必须申请这两个,不然发送不了验证码)

在这里插入图片描述

申请结束后,点击右上角头像,点击acc…,进去保存自己的AccessKey ID和 Access Key Secret,待会代码中需要使用

在这里插入图片描述

返回上一个界面,左下角找到帮助文档,点击进去

在这里插入图片描述

这个页面是自己生成代码的,只要自己把相关参数放进去,注意你使用的模板动态参数必须是json形式的,比如:{“code”,“123456”}

在这里插入图片描述

到这一步基本就完成准备工作了。不对,,,等等,好像完了最重要的一步操作,我记得老马曾经说过:“问我问题之前,先想想自己充钱了没”(⓿_⓿),所以吗,别问我,问就是充吧~人家的短信不是免费的啊,对啊,你得充钱,不充钱怎么变强大,不充钱怎么学代码,是把。自己找到充值入口冲就行了,也不贵,一条短信4分5毛钱😂😂😂

接下来才是正式开始:

1.老规矩,导jar

	<dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>aliyun-java-sdk-core</artifactId>
      <version>4.0.3</version>
    </dependency>

2.将SendSms中生成的代码复制到测试类中测试,最好封装成一个工具类,毕竟得一直用,还需要将生成的短信返给前台校验,这个封装不懂的话可以留言。

@Test
    public void code() throws Exception {

		//之前保存的AccessKey ID和Access Key Secret放这里
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "自己的AccessKey ID", "自己的Access Key Secret");
        IAcsClient client = new DefaultAcsClient(profile);

        CommonRequest request = new CommonRequest();
        request.setMethod(MethodType.POST);
        request.setDomain("dysmsapi.aliyuncs.com");
        request.setVersion("2017-05-25");
        request.setAction("SendSms");
        request.putQueryParameter("RegionId", "cn-hangzhou");
        request.putQueryParameter("PhoneNumbers", "电话");
        request.putQueryParameter("SignName", "签名名字");
        request.putQueryParameter("TemplateCode", "模板code");
        request.putQueryParameter("TemplateParam", "json数据");
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }

3.到这一步,基本就结束了,如果出错,得去阿里云上的文档说对照自己的错误,一般按照上面弄,就不会错误,签名和模板注意一下,一定要统一,不然就会出现“签名不合法的错误”。还有,再提一嘴,记着充钱

欢迎小伙伴指出文章中的错误,我会及时更改的,如果有不会的地方或者不清楚的地方,请留言,我看到会及时回复的哦

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
阿里云短信验证码Java代码示例如下: ``` import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; import com.aliyuncs.sms.model.v20160927.SendSmsRequest; import com.aliyuncs.sms.model.v20160927.SendSmsResponse; public class AliyunSmsUtil { public static void sendSms(String phoneNumbers, String signName, String templateCode, String templateParam) { // 设置超时时间-可自行调整 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); // 初始化ascClient需要的几个参数 final String product = "Dysmsapi"; final String domain = "dysmsapi.aliyuncs.com"; // 替换成你的AK (产品密) final String accessKeyId = "yourAccessKeyId";// 你的accessKeyId,参考本文档步骤2 final String accessKeySecret = "yourAccessKeySecret";// 你的accessKeySecret,参考本文档步骤2 // 初始化ascClient,暂时不支持多region(请勿修改) IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); try { DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); } catch (ClientException e) { e.printStackTrace(); } IAcsClient acsClient = new DefaultAcsClient(profile); // 组装请求对象 SendSmsRequest request = new SendSmsRequest(); // 必填:待发送手机号 request.setPhoneNumbers(phoneNumbers); // 必填:短信签名-可在短信控制台中找到 request.setSignName(signName); // 必填:短信模板-可在短信控制台中找到 request.setTemplateCode(templateCode); // 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.setTemplateParam(templateParam); // 发送请求 try { SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); if (sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) { // 请求成功 System.out.println("短信发送成功!"); } else { System.out.println("短信发送失败:" + sendSmsResponse.getMessage()); } } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

橡皮擦不去的争执

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

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

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

打赏作者

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

抵扣说明:

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

余额充值