说明 项目是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 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短信验证码的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

java接入短信_java接入创蓝253短信验证码的实例讲解相关推荐

  1. ThinkPHP3.2短信验证码 (创蓝253短信验证码)

    创蓝253短信验证码 创蓝253短信验证码使用起来比阿里云的短信验证码简单. 下面放创蓝短信验证码的开发代码 我这里使用的框架是TP3,可能与你们的api放置位置不一样, class Chuangla ...

  2. 如何利用C#/C++调取创蓝253短信验证码

    创蓝253短信服务平台 短信验证码接口调用demo #include <arpa/inet.h> #include <assert.h> #include <errno. ...

  3. python api调用 验证码_Python语言调用创蓝253短信验证码API文档

    本文主要向大家介绍了Python语言调用创蓝253短信验证码API文档,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. #!/usr/local/bin/python #-*- c ...

  4. 创蓝253短信平台代码实现

    创蓝253短信平台的实现 前台调用发送验证码接口,首先进行用户校验,判断用户是否存在,存在就生成验证码然后调用平台接口进行短信发送,之后以一定格式存到redis,再进行验证 发送内容需要去平台配置,有 ...

  5. python api调用 验证码_Python调用创蓝253短信验证码API文档

    #!/usr/local/bin/python #-*- coding:utf-8 -*- # Author: jacky # Time: 14-2-22 下午11:48 # Desc: 短信http ...

  6. 创蓝253短信验证码接口接入常见问题

    1.登录https://zz.253.com/site/login.html 2.获取接口API账号,密码:选择任意产品>激活>企业认证(上传公司营业执照)以及请求地址 demo接入账号( ...

  7. php创蓝253四要素认证_创蓝253配置

    创蓝253配置 更新时间:2017-10-18 11:10:55 由于创蓝253短信平台的接口地址不是唯一的,具体的地址请联系他们的客服索取,目前我们官方遇到的有以下几种情况,可以先用情况四的接口地址 ...

  8. 创蓝253云通讯 paas 短信发送接口和定义说明

    一.demo: #include <arpa/inet.h> #include <assert.h> #include <errno.h> #include < ...

  9. 创蓝253云通讯短信平台变量说明

    创蓝253云通讯变量说明文档 变量短信发送 用户通过HTTP的POST方式提交短信发送请求. 系统提交URL地址 http://sms.253.com/msg/HttpVarSM 参数定义 序号 参数 ...

最新文章

  1. Java8 之 lambda 表达式、方法引用、函数式接口、默认方式、静态方法
  2. 3DSlicer33:Adding MRML
  3. 在控制台中循环录入字符串,输入q时退出。 然后显示一个新的字符(Python)
  4. HDU 5890 Eighty seven(DP+bitset优化)
  5. java修改cdm_Java™ ORM框架CDM教程 增删改查(四)
  6. 第四百零四天 how can I 坚持
  7. 短视频无水印解析网站源码
  8. 真值表-Python实现
  9. js中替换和全部替换
  10. Wannafly Winter Camp 2019 Day2 H Cosmic Cleaner (球体相交体积(球冠体积公式))
  11. 国内哪家公司做网站最好?
  12. 选中物体高亮显示(MR开发日志)
  13. 【Unity3D】相机跟随
  14. 为什么那么都程序员不敢学Python?
  15. 没有金三银四,又要迎接所谓的金九银十,今年大环境这么差,Java岗必备面试题及答案学习还是得学
  16. 【ORACLE数据库体系架构】
  17. 螺丝组装扭力常用规范
  18. 连续时间信号,离散时间信号,模拟信号,数字信号的区别。
  19. 用python编程 商品打折怎么计算_(特价书)从问题到程序:用Python学编程和计算
  20. Unexpected end of JSON input while parsing near ‘...“解决方法

热门文章

  1. Altium 拖动已布线的双排焊盘
  2. 实战 | 我是怎么定位问题的?
  3. 把VOB格式转换成其它格式的工具
  4. C# 微信JS-SDK之config接口注入权限验证invalid signature签名错误
  5. 滑雪问题(dfs+dp)
  6. 烽火2640路由器命令行手册-14-桥接配置命令
  7. 游戏视觉内容逆向破解
  8. .NET平台机器学习资源汇总,有你想要的么?(转)
  9. 《设计模式之禅》书评
  10. 中南网络教育计算机基础在线作业二,《计算机应用基础》2(G)在线作业答案