java接入创蓝253短信验证码的实例讲解

说明 项目是springboot框架

1.短信配置文件 包含验证码发送路径、用户名、密码

chuanglan.requesturl=
chuanglan.account=
chuanglan.pswd=

配置文件

具体值 查看官网 位置查看截图 红框已经标红

2.读取配置文件类

3.发送数据request实体类

public class SmsVariableRequest
{
 private String account;
 private String password;
 private String msg;
 private String params;
 private String sendtime;
 private String report;
 private String extend;
 private String uid;
 private String msgId;
 private String failNum;
 private String successNum;
 private String phone;
 public SmsVariableRequest()
 {
 }
 public SmsVariableRequest(String account, String password, String msg, String params)
 {
 this.account = account;
 this.password = password;
 this.msg = msg;
 this.params = params;
 }
 public SmsVariableRequest(String account, String password, String msg, String params, String report,String phone) {
 this.account = account;
 this.password = password;
 this.msg = msg;
 this.params = params;
 this.report = report;
 this.phone = phone;
 }
 public String getAccount()
 {
 return this.account;
 }
 public void setAccount(String account) {
 this.account = account;
 }
 public String getPassword() {
 return this.password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
 public String getMsg() {
 return this.msg;
 }
 public void setMsg(String msg) {
 this.msg = msg;
 }
 public String getSendtime() {
 return this.sendtime;
 }
 public void setSendtime(String sendtime) {
 this.sendtime = sendtime;
 }
 public String getReport() {
 return this.report;
 }
 public void setReport(String report) {
 this.report = report;
 }
 public String getExtend() {
 return this.extend;
 }
 public void setExtend(String extend) {
 this.extend = extend;
 }
 public String getUid() {
 return this.uid;
 }
 public void setUid(String uid) {
 this.uid = uid;
 }
 public String getParams() {
 return this.params;
 }
 public void setParams(String params) {
 this.params = params;
 }
public String getMsgId() {
 return msgId;
}
public void setMsgId(String msgId) {
 this.msgId = msgId;
}
public String getFailNum() {
 return failNum;
}
public void setFailNum(String failNum) {
 this.failNum = failNum;
}
public String getSuccessNum() {
 return successNum;
}
public void setSuccessNum(String successNum) {
 this.successNum = successNum;
}
public String getPhone() {
 return phone;
}
public void setPhone(String phone) {
 this.phone = phone;
}

}

4.接收数据response实体类

public class SmsVariableResponse
{
 private String time;
 private String msgId;
 private String errorMsg;
 private String failNum;
 private String successNum;
 private String code;
 public String getTime()
 {
 return this.time;
 }
 public void setTime(String time) {
 this.time = time;
 }
 public String getMsgId() {
 return this.msgId;
 }
 public void setMsgId(String msgId) {
 this.msgId = msgId;
 }
 public String getErrorMsg() {
 return this.errorMsg;
 }
 public void setErrorMsg(String errorMsg) {
 this.errorMsg = errorMsg;
 }
 public String getCode() {
 return this.code;
 }
 public void setCode(String code) {
 this.code = code;
 }
 public String getFailNum() {
 return this.failNum;
 }
 public void setFailNum(String failNum) {
 this.failNum = failNum;
 }
 public String getSuccessNum() {
 return this.successNum;
 }
 public void setSuccessNum(String successNum) {
 this.successNum = successNum;
 }
 public String toString() {
 return "SmsVarableResponse [time=" + this.time + ", msgId=" + this.msgId + ", errorMsg=" + this.errorMsg + ", failNum=" +
 this.failNum + ", successNum=" + this.successNum + ", code=" + this.code + "]";
 }

5.创蓝短信发送请求工具类

public class ChuangLanSmsUtil
{
 public static String sendSmsByPost(String path, String postContent)
 {
 URL url = null;
 try {
  url = new URL(path);
  HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
  httpURLConnection.setRequestMethod("POST");
  httpURLConnection.setConnectTimeout(10000);
  httpURLConnection.setReadTimeout(2000);
  httpURLConnection.setDoOutput(true);
  httpURLConnection.setDoInput(true);
  httpURLConnection.setRequestProperty("Charset", "UTF-8");
  httpURLConnection.setRequestProperty("Content-Type", "application/json");
  httpURLConnection.connect();
  OutputStream os = httpURLConnection.getOutputStream();
  os.write(postContent.getBytes("UTF-8"));
  os.flush();
  StringBuilder sb = new StringBuilder();
  int httpRspCode = httpURLConnection.getResponseCode();
  if (httpRspCode == 200)
  {
  BufferedReader br = new BufferedReader(
   new InputStreamReader(httpURLConnection.getInputStream(), "utf-8"));
  String line = null;
  while ((line = br.readLine()) != null) {
   sb.append(line);
  }
  br.close();
  return sb.toString();
  }
 }
 catch (Exception e)
 {
  e.printStackTrace();
 }
 return null;
 }
}

6.发送短信验证码具体代码

@Override
 public Map<String, Object> send(String content, String mobileNumber) {
   String report = "true";

   content="【】您的验证码是:"+content;
   SmsVariableRequest smsVariableRequest = new SmsVariableRequest(chuanglanSmsConstants.getAccount(), chuanglanSmsConstants.getPswd(),
     content, null, report,mobileNumber);
   String requestJson = JSON.toJSONString(smsVariableRequest);
   String response = ChuangLanSmsUtil.sendSmsByPost(chuanglanSmsConstants.getRequesturl(), requestJson);
   SmsVariableResponse smsVariableResponse = (SmsVariableResponse)JSON.parseObject(response, SmsVariableResponse.class);
   System.out.println("response toString is : " + smsVariableResponse);
   if(null!=smsVariableResponse&&!"0".equals(smsVariableResponse.getCode())){
    if(log.isInfoEnabled()){
     log.info(smsVariableResponse);
    }
   }
   return null;
 }

7.注意事项

(1)注意短信签名 【XXXX】 必须是 创蓝短信审核通过的签名 如果是测试 可以使用【253云通讯】默认的 没有问题

(2)创蓝短信返回的错误并不是很明确 不要只注意控制台创蓝返回的错误 注意看创蓝短信在线API

(3)注意看在线demo不建议看离线demo 会有在线demo已经更新离线demo还未更新的情况

(4)如果需要判断验证码是否发送成功 直接"0".equals(smsVariableResponse.getCode()) “0”即发送成功

以上这篇java接入创蓝253短信验证码的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Android使用Kotlin和RxJava 2.×实现短信验证码倒计时效果

    本文介绍了Android使用Kotlin和RxJava 2.×实现短信验证码倒计时效果,分享给大家,具体如下: 场景:注册账号页面时,我们点击按钮发送验证码,在等待验证码时,界面会有倒计时提示,这此期间按钮不可点击.当倒计时结束时,按钮恢复. 实现代码 val timer:TextView = findViewById(R.id.textView) //这里的 timer 就是你要控制显示倒计时效果的 TextView val mSubscription: Subscription? = nul

  • java实现短信验证码5分钟有效时间

    本文实例为大家分享了java实现短信验证码5分钟有效时间,供大家参考,具体内容如下 实现一个发送短信验证码的请求,要求5分钟之内重复请求,返回同一个验证码. 网上可找到几种方案: 如,存储数据库或缓存中.实现起来比较麻烦,舍弃: 另一种方式即本例,使用session存储.其他方式,暂未进一步了解. 实现步骤: (springmvc) 1.controller中,获取session对象,取code,取不到新生成,并存储session中: 2.单手机号发送量,判断并 +1 记入数据库: 3.Time

  • Java实现发送手机短信语音验证功能代码实例

    这篇文章主要介绍了Java实现发送手机短信语音验证功能代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 利用第三方平台可以实现发送手机短信验证码和语音验证码的功能,本文使用框架是struts2+spring+hibernate,现就action层给出核心代码功能. public class VerifyAction extends BaseAction<VerifyRequest> { private static final long

  • Java随机生成手机短信验证码的方法

    本文实例讲述了Java随机生成手机短信验证码的方法.分享给大家供大家参考,具体如下: /** * 创建指定数量的随机字符串 * @param numberFlag 是否是数字 * @param length * @return */ public static String createRandom(boolean numberFlag, int length){ String retStr = ""; String strTable = numberFlag ? "1234

  • JAVA实现利用第三方平台发送短信验证码

    前段时间自己做的一个小项目中,涉及到用短信验证码登录.注册的问题,之前没涉及过这一块,看了别人的博客其实也是似懂非懂的,现在就将自己做的利用第三方短信平台来发送验证码这个功能记下来. 本文以注册为例,在SpringMVC+Spring+Mybatis框架的基础上完成该短信验证码功能. 发送短信验证码的原理是:随机生成一个6位数字,将该6位数字保存到session当中,客户端通过sessionid判断对应的session,用户输入的验证码再与session记录的验证码进行比较. 为了防止有广告嫌疑

  • java短信验证码获取次数限制实例

    现在不管什么项目,用到短信验证功能,都会在程序上设计一个短信验证码的获取次数限制,这样主要是避免短信验证码接口被刷. 前一段正好做一个项目的用户短信验证码登录功能,就研究了以下,下面贴出来分享一下. 这里涉及到的短信接口,用的第三方短信接口-动力思维思维乐信的(http://www.lx598.com/),如果想了解短信接口接入,可以到他们官网,查看下短信接口API文档说明,参考下面的代码应该就能弄明白. 用户注册部分,主要代码如下: //主要js方法: //获取手机验证码: function

  • Java实现发送短信验证码功能

    一个发送短信验证码的功能,使用的是信易通的短信平台接口,然后在Java中使用HttpClient模拟POST请求或者GET请求(看短信平台要求,一般的情况下都是POST请求),调用短信平台提供的接口(遵循短信平台的接口规范即可).具体看代码: 使用HttpClient的时候需要在项目中引入: commons-httpclient-3.1.jar 这个jar包, 项目结构: 1.创建一个Http的模拟请求工具类,然后写一个POST方法或者GET方法 /** * 文件说明 * @Descriptio

  • java接入创蓝253短信验证码的实例讲解

    说明 项目是springboot框架 1.短信配置文件 包含验证码发送路径.用户名.密码 chuanglan.requesturl= chuanglan.account= chuanglan.pswd= 配置文件 具体值 查看官网 位置查看截图 红框已经标红 2.读取配置文件类 3.发送数据request实体类 public class SmsVariableRequest { private String account; private String password; private St

  • Java调取创蓝253短信验证码的实现代码

    基于创蓝253短信服务平台的Java调用短信接口API package com.bcloud.msg.http; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.URLDecoder; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; i

  • 基于Java随机生成手机短信验证码的实例代码

    简单版 /** * 产生4位随机数(0000-9999) * * @return 4位随机数 */ public static String getFourRandom() { return StringUtils.leftPad(new Random().nextInt(10000) + "", 4, "0"); } 复杂版 /** * 创建指定数量的随机字符串 * @param numberFlag 是否是数字 * @param length * @return

  • java 随机生成6位短信验证码实例代码

    生成6位随机数字其实很简单,只需一行代码,具体如下: String verifyCode = String.valueOf(new Random().nextInt(899999) + 100000); 具体实现发送短信验证码功能,以注册为例,其实现代码如下: 这里需要用到第三方短信验证码接口,这里用到的是乐信短信验证码接口,乐信接口API文档说明(http://www.lx598.com/apitext.html),乐信java调用短信验证码接口 demo(http://www.lx598.c

  • SpringBoot发送短信验证码的实例

    目录 1.注册短信通账号 2.导入依赖 3.随机验证码的工具类 4.短信发送工具类 5.测试 1.注册短信通账号 网址:http://sms.webchinese.cn 2.导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dep

  • Java使用云片API发送短信验证码

    下面开始介绍的是如何利用机器完成批量操作,将短信业务自动化. 获取APIKEY 云片网提供了完整的SDK和API,可以帮助开发者快速完成业务开发. 在开始Coding前,需要先获取APIKEY,如下所示. 获取APIKEY 点击眼睛按钮后,输入验证码,就可以查看APIKEY了. 这里需要说明的是,APIKEY特别重要,一定要保护好它,避免泄露.云片这边提供了几重保护机制,例如验证.敏感处理.子账号独立APIKEY等,看得出来他们的安全意识还是挺不错的. 开始Coding 有了APIKEY,就可以

  • 微信小程序发送短信验证码完整实例

    微信小程序注册完整实例,发送短信验证码,带60秒倒计时功能,无需服务器端.效果图: 代码: index.wxml <!--index.wxml--> <view class="container"> <view class='row'> <input placeholder='请输入姓名' bindinput='bindNameInput'/> </view> <view class='row'> <inpu

  • python对接ihuyi实现短信验证码发送

    在日常生活中我们经常会遇到接收短信验证码的场景,Python也提供了简便的方法实现这个功能,下面就用代码来实现这个功能. 一般我们需要租借短信供应商的服务器发送短信.如果是用于自学会有一定免费条数的限额. 我们就借用互忆的平台来是实现代码. 首先需要访问http://www.ihuyi.com/sms.html注册私人账号,注册完之后进入个人信息界面会看到自己的账号和密钥. 所需导入的包: import requests,random,bs4 requests模块用于发送请求,random模块用

  • C# 开发(创蓝253)手机短信验证码接口的实例

    创蓝253: https://www.253.com/ #region 获取手机验证码(创蓝253) /// <summary> /// 获取手机验证码(创蓝253) /// </summary> /// <param name="phoneno">手机号</param> /// <returns></returns> [AllowAnonymous] public async Task<IHttpActio

随机推荐