http://www.miaodiyun.com/

自行登录秒滴科技科技进行注册,这里就不演示了,注册后送10元短信费
ACCOUNT_SID 、 AUTH_TOKEN 这两个参数在你的账号信息里面有
SMS_CONTENT 模板内容必须保持跟注册账号的里面申请的模板保持一致,不可随便乱写

import org.apache.commons.codec.digest.DigestUtils;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;/*** 发送短信验证码工具类* http://www.miaodiyun.com/*/
public class SendMessageUtils {/**url前半部分*/public static final String BASE_URL = "https://api.miaodiyun.com/20150822/industrySMS/sendSMS";/**开发者注册后系统自动生成的账号,可在官网登录后查看*/public static final String ACCOUNT_SID = "******************";/**开发者注册后系统自动生成的TOKEN,可在官网登录后查看*/public static final String AUTH_TOKEN = "******************";/**响应数据类型, JSON或XML*/public static final String RESP_DATA_TYPE = "JSON";/**随机数*/public static final String RANDOM_NUM = (int)((Math.random()*9+1)*100000) + "";/**短信模板*/public static final String SMS_CONTENT = "【盛宏科技】注册验证码:"+ RANDOM_NUM +",如非本人操作,请忽略此短信。";/*** 构造通用参数timestamp、sig和respDataType** @return*/public static String createCommonParam(String sid,String token) {// 时间戳long timestamp = System.currentTimeMillis();// 签名String sig = DigestUtils.md5Hex(sid + token + timestamp);StringBuilder commonParam = new StringBuilder();commonParam.append("&timestamp=").append(timestamp);commonParam.append("&sig=").append(sig);commonParam.append("&respDataType=").append(RESP_DATA_TYPE);return commonParam.toString();}/*** post请求** @param url*            功能和操作* @param body*            要post的数据* @return* @throws Exception*/public static String post(String url, String body) {System.out.println("body:" + System.lineSeparator() + body);String result = "";try {OutputStreamWriter out = null;BufferedReader in = null;URL realUrl = new URL(url);URLConnection conn = realUrl.openConnection();// 设置连接参数conn.setDoOutput(true);conn.setDoInput(true);conn.setConnectTimeout(5000);conn.setReadTimeout(20000);conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");// 提交数据out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");out.write(body);out.flush();// 读取返回数据in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));String line = "";boolean firstLine = true; // 读第一行不加换行符while ((line = in.readLine()) != null) {if (firstLine) {firstLine = false;} else {result += System.lineSeparator();}result += line;}} catch (Exception e) {e.printStackTrace();}return result;}/*** 回调测试工具方法** @param url* @return*/public static String postCallBack(String url, String body) {String result = "";try {OutputStreamWriter out = null;BufferedReader in = null;URL realUrl = new URL(url);URLConnection conn = realUrl.openConnection();// 设置连接参数conn.setDoOutput(true);conn.setDoInput(true);conn.setConnectTimeout(5000);conn.setReadTimeout(20000);// 提交数据out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");out.write(body);out.flush();// 读取返回数据in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));String line = "";boolean firstLine = true; // 读第一行不加换行符while ((line = in.readLine()) != null) {if (firstLine) {firstLine = false;} else {result += System.lineSeparator();}result += line;}} catch (Exception e) {e.printStackTrace();}return result;}/*** 短信发送(验证码通知,会员营销)* 接口文档地址:http://www.miaodiyun.com/doc/https_sms.html*/public static void execute(String phone){try {StringBuilder sb = new StringBuilder();sb.append("accountSid").append("=").append(ACCOUNT_SID);sb.append("&to").append("=").append(phone);sb.append("&param").append("=").append(URLEncoder.encode("","UTF-8"));//sb.append("&templateid").append("=").append("1521");sb.append("&smsContent").append("=").append(URLEncoder.encode(SMS_CONTENT,"UTF-8"));//URLEncoder.encode("【秒嘀科技】您的验证码为123456,该验证码5分钟内有效。请勿泄漏于他人。","UTF-8")String body = sb.toString() + createCommonParam(ACCOUNT_SID, AUTH_TOKEN);String result = post(BASE_URL, body);System.out.println(result);}catch (Exception e){e.printStackTrace();}}public static void main(String[] args) {execute("手机号码");}
}

秒滴科技-短信验证码接口相关推荐

  1. java WEB调用秒嘀科技短信验证接口(实现短信验证登录)

    java WEB调用秒嘀科技短信验证接口(实现短信验证登录) 前言 注册秒嘀云账号 登录秒嘀云官网 代码 前言 短信验证登咱就不多说了,为什么推荐用秒嘀的呢,应为他会送你10元钱,对于新手来说10元钱 ...

  2. php短信接口加密_PHP短信接口、PHP短信验证码接口源码

    PHP短信接口.PHP短信验证码接口源码 时间:2016-06-13 11:53 来源:原创 作者:admin PHP短信接口文档源码,PHP发短信接口,PHP在线发短信,PHP微信发短信接口 /* ...

  3. 如何防止恶意攻击短信验证码接口

    如何防止恶意攻击短信验证码接口 1 自研技术 2 自研验证码被破解怎么办? 3 所有图形验证码都被破解怎么办? 1 自研技术 1.手机号码限制:限制单个手机号码每天的最大发送次数.超过次数不能发送短信 ...

  4. java防止注册刷短信攻击_java面试(1)如何防止恶意攻击短信验证码接口

    防止恶意攻击短信验证码接口方法 1.手机号码限制:限制单个手机号码每天的最大发送次数.超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天. 2.短信发送时间间隔限制:限制同一个手机号码重复发 ...

  5. 如何防止短信验证码接口、登录注册入口被恶意调用攻击?

    目录 前言 1.短信验证码是什么? 2.为什么要对短信验证码进行防护? 3.有哪些常见的防护手段? 4.这些防护手段有没有用呢,到底该如何选择? 5.结语 前言 最近遇到一个关于防止短信验证码被刷的问 ...

  6. 短信验证码接口的应用场景和优势

    短信验证码接口是常用于网络平台的一种短信功能接口,它在用户注册登录.密码找回.账户变更.确认支付.活动认证等场景都会应用到,短信接口作为网络平台与用户之间重要交互手段,凭借其速度快.到达率高.安全性好 ...

  7. 手机短信验证码接口在各领域的应用

    很多网站.APP应用.内部管理软件在使用过程中,都需要会员进行手机号码验证.登录验证.操作验证,在各种验证形式中,手机短信验证的方式最为简单和方便.根据不同的应用领域,手机短信验证可以广泛应用在如下方 ...

  8. 【转载】C语言,利用网络短信验证码接口实现手机短信发送

    利用网络短信验证码接口实现手机短信发送 (历史代码,贴出学习) resource.h //resource.h//{{NO_DEPENDENCIES}} // Microsoft Visual C++ ...

  9. Httpclient调用短信验证码接口

    一.简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的.最新的.功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议.Ht ...

最新文章

  1. selenium--driver.switchTo()
  2. Cors 跨域Access-Control-Allow-Origin
  3. pyqt5必须和python对应_python 使用PyQt5
  4. google 图表(chart)
  5. java 两个list相等_java 怎么比较两个list是否相同
  6. php向数据库 插入图片,php-向/从MySQL数据库插入/查看图像
  7. android画布_Android画布
  8. python合并表格_python合并表格sheets
  9. PHP批量去除PHP文件中bom的代码
  10. 针对云原生转型的6个关键数据策略
  11. 软件测试报告的项目背景,软件测试报告范本
  12. EasyPlayer播放海康大华RTSP流时RTSPClient客户端连接兼容问题的解决
  13. parallels desktop win7远程桌面第一个字符shift键不生效
  14. 群机器人积分怎么转赠_王者荣耀全员冲榜无法获得积分怎么办?全员冲榜积分规则...
  15. hduoj 饭卡 java_饭卡 HDU - 2546
  16. 扒一扒坑人的“微信支付”SDK开发文档
  17. Easy to understand the top ten commonly used algorithms for machine learning
  18. 初学Python-简单的,在图片上加png(logo)
  19. CollapsingToolbarLayout+FloatingActionButton 打造精美详情界面
  20. 35岁大龄程序员出路在哪里?

热门文章

  1. C++ binary_function与unary_function使用详解
  2. 无参考图像单张视频图像噪声检测C++ opencv
  3. Kali渗透测试:使用 Armitage生成被控端和主控端
  4. 英特尔中国战略升级,首次系统阐述英特尔中国2.0
  5. day45-金错刀-下笔如有神
  6. 【毕业设计_课程设计】基于各种机器学习和深度学习的中文微博情感分析
  7. mysql数据库只存储时分秒,不存储含年月日
  8. Android逆向工具简单介绍
  9. 配置samba共享 一个用户有权限 多个用户可以借此用户访问
  10. BRVAH BaseMultiItemQuickAdapter多布局实现