欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java接入創(chuàng)藍(lán)253短信驗(yàn)證碼的實(shí)例講解

 更新時(shí)間:2018年01月05日 08:51:37   作者:不再_單純  
下面小編就為大家分享一篇java接入創(chuàng)藍(lán)253短信驗(yàn)證碼的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

說(shuō)明 項(xiàng)目是springboot框架

1.短信配置文件 包含驗(yàn)證碼發(fā)送路徑、用戶名、密碼

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

配置文件

具體值 查看官網(wǎng) 位置查看截圖 紅框已經(jīng)標(biāo)紅

2.讀取配置文件類

3.發(fā)送數(shù)據(jù)request實(shí)體類

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.接收數(shù)據(jù)response實(shí)體類

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.創(chuàng)藍(lán)短信發(fā)送請(qǐng)求工具類

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.發(fā)送短信驗(yàn)證碼具體代碼

@Override
 public Map<String, Object> send(String content, String mobileNumber) {
   String report = "true";
   
   content="【】您的驗(yàn)證碼是:"+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.注意事項(xiàng)

(1)注意短信簽名 【XXXX】 必須是 創(chuàng)藍(lán)短信審核通過(guò)的簽名 如果是測(cè)試 可以使用【253云通訊】默認(rèn)的 沒有問(wèn)題

(2)創(chuàng)藍(lán)短信返回的錯(cuò)誤并不是很明確 不要只注意控制臺(tái)創(chuàng)藍(lán)返回的錯(cuò)誤 注意看創(chuàng)藍(lán)短信在線API

(3)注意看在線demo不建議看離線demo 會(huì)有在線demo已經(jīng)更新離線demo還未更新的情況

(4)如果需要判斷驗(yàn)證碼是否發(fā)送成功 直接"0".equals(smsVariableResponse.getCode()) “0”即發(fā)送成功

以上這篇java接入創(chuàng)藍(lán)253短信驗(yàn)證碼的實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • BeanUtils.copyProperties使用總結(jié)以及注意事項(xiàng)說(shuō)明

    BeanUtils.copyProperties使用總結(jié)以及注意事項(xiàng)說(shuō)明

    這篇文章主要介紹了BeanUtils.copyProperties使用總結(jié)以及注意事項(xiàng)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Spring源碼學(xué)習(xí)之動(dòng)態(tài)代理實(shí)現(xiàn)流程

    Spring源碼學(xué)習(xí)之動(dòng)態(tài)代理實(shí)現(xiàn)流程

    這篇文章主要給大家介紹了關(guān)于Spring源碼學(xué)習(xí)之動(dòng)態(tài)代理實(shí)現(xiàn)流程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • SpringCloud分布式鏈路跟蹤的方法

    SpringCloud分布式鏈路跟蹤的方法

    這篇文章主要介紹了SpringCloud分布式鏈路跟蹤的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Mybatis增刪改查mapper文件寫法詳解

    Mybatis增刪改查mapper文件寫法詳解

    這篇文章主要介紹了Mybatis增刪改查mapper文件寫法的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 如何用SpringBoot 進(jìn)行測(cè)試

    如何用SpringBoot 進(jìn)行測(cè)試

    這篇文章主要介紹了如何用SpringBoot 進(jìn)行測(cè)試,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-11-11
  • Mybatis pagehelper分頁(yè)插件使用過(guò)程解析

    Mybatis pagehelper分頁(yè)插件使用過(guò)程解析

    這篇文章主要介紹了mybatis pagehelper分頁(yè)插件使用過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Java二叉樹的四種遍歷(遞歸和非遞歸)

    Java二叉樹的四種遍歷(遞歸和非遞歸)

    這篇文章主要介紹了Java二叉樹的四種遍歷,二叉樹的遍歷可以分為前序、中序、后序、層次遍歷,需要的朋友可以參考下
    2020-12-12
  • Springboot之@Async不執(zhí)行原因及分析

    Springboot之@Async不執(zhí)行原因及分析

    這篇文章主要介紹了Springboot之@Async不執(zhí)行原因及分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • java JSONArray 遍歷方式(2種)

    java JSONArray 遍歷方式(2種)

    這篇文章主要介紹了java JSONArray 遍歷方式(2種),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 微信js-sdk+JAVA實(shí)現(xiàn)“分享到朋友圈”和“發(fā)送給朋友”功能詳解

    微信js-sdk+JAVA實(shí)現(xiàn)“分享到朋友圈”和“發(fā)送給朋友”功能詳解

    本文分享了微信js-sdk+JAVA實(shí)現(xiàn)“分享到朋友圈”和“發(fā)送給朋友”功能介紹,大家可以參考一下
    2018-03-03

最新評(píng)論