1丶注册短信宝

2 代码分为授权跟参数实体

授权实体

@Data
public class SmsBaoAuthorization {//http://api.smsbao.com/sms    private String url;//在短信宝注册的用户名private String username;//在短信宝注册的密码    private String password;
}

参数实体

@Data
public class SmsBaoMsgData {private String phone;//签名放入内容中 也可单独作为参数拼接 例如:【万千购】您的验证码是1234private String content;}
调用接口
@Slf4j
@Component
public class SmsBaoSendMsgHandle {public String sendMsgOne(SmsBaoAuthorization smsBaoAuthorization, SmsBaoMsgData smsBaoMsgData) {String state = SMSBaoUtil.send(smsBaoAuthorization, smsBaoMsgData);return state;}public void sendMsgBatch(SmsBaoAuthorization smsBaoAuthorization, List<SmsBaoMsgData> smsBaoMsgDatas) {log.info("发短信");for (SmsBaoMsgData smsBaoMsgData : smsBaoMsgDatas) {String state = SMSBaoUtil.send(smsBaoAuthorization, smsBaoMsgData);}}}

短信宝发送工具类

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class SMSBaoUtil {public static String url;public static String username;public static String password;public static void setUrl(String url) {SMSBaoUtil.url = url;}public static void setUsername(String username) {SMSBaoUtil.username = username;}public static void setPassword(String password) {SMSBaoUtil.password = password;}public static String send(SmsBaoAuthorization smsBaoAuthorization, SmsBaoMsgData smsBaoMsgData) {StringBuffer httpArg = new StringBuffer();httpArg.append("u=").append(smsBaoAuthorization.getUsername()).append("&");httpArg.append("p=").append(md5(smsBaoAuthorization.getPassword())).append("&");httpArg.append("m=").append(smsBaoMsgData.getPhone()).append("&");httpArg.append("c=").append(encodeUrlString(smsBaoMsgData.getContent(), "UTF-8"));return request(smsBaoAuthorization.getUrl(), httpArg.toString());}public static String send(String phone, String content) {StringBuffer httpArg = new StringBuffer();httpArg.append("u=").append(username).append("&");httpArg.append("p=").append(md5(password)).append("&");httpArg.append("m=").append(phone).append("&");httpArg.append("c=").append(encodeUrlString(content, "UTF-8"));String result = request(url, httpArg.toString());return result;}public static String send(String url, String username, String password, String phone, String content) {StringBuffer httpArg = new StringBuffer();httpArg.append("u=").append(username).append("&");httpArg.append("p=").append(md5(password)).append("&");httpArg.append("m=").append(phone).append("&");httpArg.append("c=").append(encodeUrlString(content, "UTF-8"));String result = request(url, httpArg.toString());return result;}public static String md5(String plainText) {StringBuffer buf = null;try {MessageDigest md = MessageDigest.getInstance("MD5");md.update(plainText.getBytes());byte b[] = md.digest();int i;buf = new StringBuffer("");for (int offset = 0; offset < b.length; offset++) {i = b[offset];if (i < 0)i += 256;if (i < 16)buf.append("0");buf.append(Integer.toHexString(i));}} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return buf.toString();}public static String encodeUrlString(String str, String charset) {String strret = null;if (str == null)return str;try {strret = java.net.URLEncoder.encode(str, charset);} catch (Exception e) {e.printStackTrace();return null;}return strret;}public static String request(String httpUrl, String httpArg) {BufferedReader reader = null;String result = null;StringBuffer sbf = new StringBuffer();httpUrl = httpUrl + "?" + httpArg;try {URL url = new URL(httpUrl);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");connection.connect();InputStream is = connection.getInputStream();reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));String strRead = reader.readLine();if (strRead != null) {sbf.append(strRead);while ((strRead = reader.readLine()) != null) {sbf.append("\n");sbf.append(strRead);}}reader.close();result = sbf.toString();} catch (Exception e) {e.printStackTrace();}return result;}
}

在使用类里面调用

1注入调用类

@Autowired private SmsBaoSendMsgHandle smsBaoSendMsgHandle;

2装配授权参数

SmsBaoAuthorization smsBaoAuthorization = new SmsBaoAuthorization();
3装配消息参数

SmsBaoMsgData smsBaoMsgData = new SmsBaoMsgData();

4 发送

sendResult=smsBaoSendMsgHandle.sendMsgOne(smsBaoAuthorization,smsBaoMsgData);

效果示例

短信宝接入发送短信实测 Java相关推荐

  1. python调用短信宝API发送短信(附python代码 易理解)

    原版API如下:接口说明_马上使用更好的短信服务-短信宝官网 (smsbao.com) 直接上代码 复制过去就行 import requestscontent = str("[短信宝]您的验 ...

  2. java调用短信接口实现发送短信

    java调用短信接口实现发送短信 1.下载接口文件 2.打开java文件夹 2.1获取jar包依赖 2.2获取代码模板 3.创建项目 3.1打开eclipse软件,创建一个动态的web项目 3.2导入 ...

  3. 使用华为短信包,发送短信Result=61问题解决

    使用华为短信包,发送短信出现了Result=61的返回. 网上说是有效时间失效 注释: /** * 创建一个发送短信消息,传入消息的各字段的值,并对各参数值进行判断,不符合要求则抛出异常 * 按要求把 ...

  4. 使用阿里云短信验证码API发送短信验证码(配置,获取短信验证码,注册,登录,密码重置)

    获取阿里云短信验证码需要的配置信息. 如果是新用户,可以免费领取3个月,老用户的话就只能购买了,但是也不贵. 申请短信签名 申请短信模板 编写发送短信验证码的工具类 代码中我已经进行了详细的注释,也写 ...

  5. TP5调用阿里云短信接口实现发送短信功能

    TP5调用阿里云短信接口实现发送短信功能 工作需要,对接阿里云的短信服务,借此记录一下(网站 www.lelee.top) 主要分为两个部分,一是下载官方的Demo事例,这个不需要多说,自己去下载就行 ...

  6. 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)

    普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...

  7. N7100/GALAXY Note2 解决短信发件人实际发送短信时间

    三星 N7100/GALAXY Note2 解决短信发件人实际发送短信时间... 解决短信发件人实际发送短信时间显示为当前时间的bug 如果别人给你发了一条短信,而你手机当前是关机状态,那么当你开机后 ...

  8. Java调用阿里云短信接口,发送短信

    Java调用阿里云短信接口,发送短信 1.短信服务这个很简单,只需要知道accessKeyId(AK).accessKeySecret(SK).短信签名.短信模板即可. 2.域名和产品名称是固定的,使 ...

  9. php对接短信宝,php使用短信宝发送短信的方法

    本文主要和大家分享php使用短信宝发送短信的方法,使用短信宝需要先在官网上注册一个用户名密码,希望能帮助到大家. 注意:如果没有购买短信,则只用来测试短信速度,短信内容不可编辑,只可修改验证码数字.. ...

最新文章

  1. win8中计算机的工具在哪,Win8画图工具在哪,Win8怎么打开画图?
  2. 同一个工作组无法查看计算机,win7系统在同一个工作组看不到其他电脑的解决方法...
  3. KVC、KVO实现过程
  4. MVC后台数据赋值给前端JS对象
  5. java五层架构_Web五层架构
  6. 【蓝桥杯】题目 1429: 兰顿蚂蚁
  7. 根据某一字段值去重查找出所有字段的数据
  8. apache 配置虚拟域名默认站点问题
  9. 愚人节将至,怎么恶搞最过瘾
  10. excel表格同一单元格里删除重复词
  11. 入门月薪8k,3年年薪35w,大数据的就业前景与薪酬待遇浅析
  12. 2022 CCF中国开源大会—开放原子开源创新发展论坛即将开幕
  13. java输出中写html标签,java 输出html标签
  14. TopoTag:A Robust and Scalable Topological Fiducial Marker System 笔记
  15. Win10 1903过TP的双机调试
  16. 深入浅出Java Object Layout (JOL)
  17. 经典开源Windows工具
  18. Atom 打造无懈可击的 Markdown 编辑器
  19. Win11桌面图标的小盾牌怎么去掉?
  20. python时间序列分析2-平稳时间序列分析

热门文章

  1. 微信壁纸小程序源码修复图片无法下载-完美运营版本
  2. 如何优雅的修改 Kubernetes Master 节点 IP?可没你想象中那么简单!
  3. Codeforces Round #614 (Div. 1) C.Xenon's Attack on the Gangs(树形dp)
  4. 《复杂网络分析》习题及自我解答
  5. c语言编程输出皮卡丘,c语言001第一节课程-函数方式输出皮卡丘画 2019-06-24
  6. 第一天:什么是Flink、WordCount入门、Flink安装、并行度
  7. select苹果手机样式设置
  8. 【Unity】Unity下载器下载不下IOS/Android等模块的解决办法
  9. 黑苹果 MacOS 10.15 Catalina安装教程
  10. 输入一个整数n,统计1-n之间的奇数和。你有几种办法实现?