1、准备

百度SMS短信通,进入官方页面,注册账号;官网:http://sms.webchinese.cn/

用户名需要记住 后面有用 密码会短信通知 密码会短信通知 密码会短信通知
登录以后在接口功能设置找到自己的短信密钥

2、依赖

<dependencies><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.1</version></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.4</version></dependency><dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.0.1</version></dependency>
</dependencies>

3、工具类

package com.wcl.test.utils;import java.util.Random;import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.junit.Test;public class SendMessageUtil {private static final String SMS_Url = "http://sms.webchinese.cn/web_api/";/*** @param Uid SMS用户id  : lvfang123* @param Key 接口秘钥:SMS登录可查(非登录密码)* @param sendPhoneNum 短信发送目标号码* @param desc 短信内容* @return Integer(1:成功码,其他失败,具体参见注释)*/public static Integer send(String Uid,String Key,String sendPhoneNum,String desc){HttpClient client = new HttpClient();PostMethod post = new PostMethod(SMS_Url);post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码//设置参数NameValuePair[] data = {new NameValuePair("Uid", Uid),new NameValuePair("Key", Key),//秘钥new NameValuePair("smsMob", sendPhoneNum),new NameValuePair("smsText", desc)};post.setRequestBody(data);try {client.executeMethod(post);} catch (Exception e) {  e.printStackTrace();  }Header[] headers = post.getResponseHeaders();int statusCode = post.getStatusCode();System.out.println("statusCode:" + statusCode);for (Header h : headers) {System.out.println(h.toString());}String result ="";try {result = new String(post.getResponseBodyAsString().getBytes("gbk"));} catch (Exception e) {  e.printStackTrace();  }post.releaseConnection();return Integer.parseInt(result);}/***  -1  没有该用户账户-2 接口密钥不正确 [查看密钥]不是账户登陆密码-21    MD5接口密钥加密不正确-3 短信数量不足-11    该用户被禁用-14    短信内容出现非法字符-4 手机号格式不正确-41    手机号码为空-42    短信内容为空-51    短信签名格式不正确接口签名格式为:【签名内容】-6 IP限制大于0    短信发送数量以上作为补充*/public static String getMessage(Integer code){String message;if(code > 0 ) {message = "SMS-f发送成功!短信量还有" + code + "条";}else if(code == -1){message = "SMS-没有该用户账户";}else if(code == -2){message = "SMS-接口密钥不正确";}else if(code == -21){message = "SMS-MD5接口密钥加密不正确";}else if(code == -3){message = "SMS-短信数量不足";}else if(code == -11){message = "SMS-该用户被禁用";}else if(code == -14){message = "SMS-短信内容出现非法字符";}else if(code == -4){message = "SMS-手机号格式不正确";}else if(code == -41){message = "SMS-手机号码为空";}else if(code == -42){message = "SMS-短信内容为空";}else if(code == -51){message = "SMS-短信签名格式不正确接口签名格式为:【签名内容】";}else if(code == -6){message = "SMS-IP限制";}else{message = "其他错误";}return message;}/*** 随机生成6位验证码* @return*/public static String getRandomCode(Integer code){Random random = new Random();StringBuffer result= new StringBuffer();for (int i=0;i<code;i++){result.append(random.nextInt(10));}return result.toString();}@Testpublic void testSendMessage(){//SendMessageUtil.send("SMS账户","接口秘钥","目标号码","发送内容");Integer resultCode = SendMessageUtil.send("疾风***","d41d8cd98f**********","159********","验证码:"+getRandomCode(6));         System.out.println(SendMessageUtil.getMessage(resultCode));   }
}

4、控制层调用

String code = SendMessageUtil.getRandomCode(6);
Integer resultCode = SendMessageUtil.send("用户名","密钥",“目标手机号”,"您的验证码为  "+code+"  请在三分钟内完成验证");
String message = SendMessageUtil.getMessage(resultCode); //发送后返回的信息

完成!

【springboot】SMS短信通实现手机验证码相关推荐

  1. java 实现注册调用短信验证码(网建SMS短信通)

    一.首先,我们需要在 网建SMS短信通 上注册自己的帐号 二.登录成功之后我们可以在首页看到用户名以及短信剩余数量等信息 三.下载相关的jar包 commons-logging-1.1.1.jar c ...

  2. 阿里云短信平台实现手机验证码登录

    阿里云短信平台实现手机验证码登录 首先创建一个工具类 工具类AliyunMessageUtil代码如下所示: public class AliyunMessageUtil {private stati ...

  3. 项目中发送短信--中国网建SMS短信通

    中国网建SMS短信通官网 http://sms.webchinese.com.cn API:http://sms.webchinese.com.cn/api.shtml 官网API已经说得很详细了,这 ...

  4. SpringBoot——短信发送、手机验证码登录

    目录 一.短信发送 1.1 阿里云短信服务 1.1.1 设置短信签名 1.1.2 模板管理 1.1.3 设置AccessKey 1.2 短信发送--代码开发 1.2.1 导入maven坐标 1.2.2 ...

  5. SMS短信通API下行接口参数

    为什么80%的码农都做不了架构师?>>>    JAVA发送手机短信 方法: (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送, ...

  6. 【瑞吉外卖】day08:短信发送、手机验证码登录

    目录 4. 短信发送​编辑 4.1 短信服务介绍 4.2 阿里云短信服务介绍 4.3 阿里云短信服务准备 4.4 代码开发 5. 手机验证码登录 5.1 需求分析 5.2 数据模型 5.3 前端页面分 ...

  7. Java调用SMS短信通API实现发短信功能

    今天想实现在Java程序中实现发送短信的功能,找了很多的短信平台,大多数都会有免费的体验短信数量,最后选择了中国网建的SMS短信平台,过程如下: 1.使用前需要注册,注册地址为:http://sms. ...

  8. 基于SMS短信平台给手机发送短信

    JAVA发送手机短信,我知道的有三种方式,恰逢项目需求,自己整理了基于SMS的短信发送,其他两种这里就说说一下 使用webservice接口发送手机短信,这个可以使用sina提供的webservice ...

  9. SpringBoot+vue 使用阿里云的短信功能发送手机验证码

    前言: 小编后端用的是Springboot 前端用的是vue ,小编主要是写后台,前端页面比较简陋,后期还要调优,写的不对处还望多多包涵. 环境: 需要先准备好阿里云的账号和一些必要的参数.详情见我的 ...

最新文章

  1. 企业的无线安全问题综合解决方案
  2. Django基础,Day3 - 编写 django admin
  3. MetInfo最新版代码审计漏洞合集
  4. java1.5以后新增的特性_jdk1.5之后的一些新特性
  5. oracle19c监听服务启动失败,Oracle19c安装(有失败成功记录)
  6. Zookeeper使用超级用户删除带权限的节点
  7. 软件定制开发,程序外包就在这
  8. 基于SpringBoot+Vue开发的一个知识社区分享平台
  9. 深入浅出计算机组成原理04 | 穿越功耗墙,我们该从哪些方面提升“性能”
  10. registry拉取dockerhub私有镜像
  11. 线程wait和notify方法
  12. 怎么利用外链快速上排名?
  13. 浙大OJ网址及ACM题目分类
  14. 【了解基本进位制】进制使用说明与学习
  15. 新一代信息技术(P56)
  16. 相对论【2】杆和钟的运动
  17. Bootstrap中的col-lg-*,col-md- *和col-sm- *有什么区别?
  18. echarts地图所需世界、中国、各省份的json、js数据
  19. Python俄罗斯方块
  20. 《设计模式:可复用面向对象软件的基础》——面向对象设计原则、创建型模式(笔记)

热门文章

  1. Centos8安装Tomcat8.5.55
  2. 125KHz 100cm ID 读卡电路_二维码门禁读卡器动态二维码扫描器二维码刷卡读头介绍...
  3. html 导航栏设计,在网页中设计导航菜单的三个原则(附案例)
  4. 【其他】结构技术优化算法--蚁群算法(ant colony optimization)
  5. autojs pro逍遥游模拟器vscode调试
  6. 游戏建模入门教程:绝地求生—PUBG的游戏模型制作流程
  7. Win10无法开机提示自动修复无法修复你的电脑的有效解决方法
  8. 用Python蹭别人家图片接口,做一个【免费图床】吧
  9. html5 图片羽化,html5+webgl仿ps羽化笔刷液态动画特效
  10. 乐高收割机器人_学习乐高机器人编程,孩子到底收获了什么?