public String sendCode(String phoneString){

String code=createRandomVcode();//验证码

// 用户名

String name="nangcheng";

// 密码

String pwd="405D046F8845AF375C5304360CCD";

// 电话号码字符串,中间用英文逗号间隔

StringBuffer mobileString=new StringBuffer(phoneString);

// 内容字符串

StringBuffer contextString=new StringBuffer(code);

// 签名

String sign="【海络】";

// 追加发送时间,可为空,为空为及时发送

String stime="";

// 扩展码,必须为数字 可为空

StringBuffer extno=new StringBuffer();

try {

String result=doPost(name, pwd, mobileString, contextString, sign, stime, extno);

log.info("Send code is"+result);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return code;

}

/**

* 发送短信

*

* @param name            用户名

* @param pwd            密码

* @param mobileString    电话号码字符串,中间用英文逗号间隔

* @param contextString    内容字符串

* @param sign            签名

* @param stime            追加发送时间,可为空,为空为及时发送

* @param extno            扩展码,必须为数字 可为空

* @return

* @throws Exception

*/

public static String doPost(String name, String pwd,

StringBuffer mobileString, StringBuffer contextString,

String sign, String stime, StringBuffer extno) throws Exception {

StringBuffer param = new StringBuffer();

param.append("name="+name);

param.append("&pwd="+pwd);

param.append("&mobile=").append(mobileString);

param.append("&content=").append(URLEncoder.encode(contextString.toString(),"UTF-8"));

param.append("&stime="+stime);

param.append("&sign=").append(URLEncoder.encode(sign,"UTF-8"));

param.append("&type=pt");

param.append("&extno=").append(extno);

URL localURL = new URL("http://api.daiyicloud.com/asmx/smsservice.aspx?");

URLConnection connection = localURL.openConnection();

HttpURLConnection httpURLConnection = (HttpURLConnection)connection;

httpURLConnection.setDoOutput(true);

httpURLConnection.setRequestMethod("POST");

httpURLConnection.setRequestProperty("Accept-Charset", "utf-8");

httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

httpURLConnection.setRequestProperty("Content-Length", String.valueOf(param.length()));

OutputStream outputStream = null;

OutputStreamWriter outputStreamWriter = null;

InputStream inputStream = null;

InputStreamReader inputStreamReader = null;

BufferedReader reader = null;

String resultBuffer = "";

try {

outputStream = httpURLConnection.getOutputStream();

outputStreamWriter = new OutputStreamWriter(outputStream);

outputStreamWriter.write(param.toString());

outputStreamWriter.flush();

if (httpURLConnection.getResponseCode() >= 300) {

throw new Exception("HTTP Request is not success, Response code is " + httpURLConnection.getResponseCode());

}

inputStream = httpURLConnection.getInputStream();

resultBuffer = convertStreamToString(inputStream);

} finally {

if (outputStreamWriter != null) {

outputStreamWriter.close();

}

if (outputStream != null) {

outputStream.close();

}

if (reader != null) {

reader.close();

}

if (inputStreamReader != null) {

inputStreamReader.close();

}

if (inputStream != null) {

inputStream.close();

}

}

return resultBuffer;

}

/**

* 转换返回值类型为UTF-8格式.

* @param is

* @return

*/

public static String convertStreamToString(InputStream is) {

StringBuilder sb1 = new StringBuilder();

byte[] bytes = new byte[4096];

int size = 0;

try {

while ((size = is.read(bytes)) > 0) {

String str = new String(bytes, 0, size, "UTF-8");

sb1.append(str);

}

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

is.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return sb1.toString();

}

public static String createRandomVcode(){

//验证码

String vcode = "";

for (int i = 0; i < 4; i++) {

vcode = vcode + (int)(Math.random() * 9);

}

return vcode;

}

短信验证码mysql_短信验证码相关推荐

  1. java短信验证码功能发送的验证码如何校验_企业如何选择短信平台才能保障安全和稳定性?...

    现如今互联网不断发展,人们对网络的依赖性越来越大, 伴随而来的网络运营安全问题越来越严重,安全是我们企业都担忧的一个大问题,短信平台的安全性再次被企业所重视起来. 短信验证码日常生活中经常遇到,比如银 ...

  2. 创宇滤镜|API防刷|短信邮件接口防刷|验证码防刷|搜索防刷 - 知道创宇云安全

    创宇滤镜|API防刷|短信邮件接口防刷|验证码防刷|搜索防刷 - 知道创宇云安全 创宇滤镜|API防刷|短信邮件接口防刷|验证码防刷|搜索防刷 - 知道创宇云安全 posted on 2017-02- ...

  3. JAVA怎么对接第三方短信平台?短信验证码完整API文档

    验证码短信平台的应用场景,一般包括用户注册.登陆账号.忘记密码.登录异常.支付确认等. 一.用户注册 通常我们会在注册时会用到短信验证码,即用户在网站或软件上注册账号时,企业需要通过验证码确认用户身份 ...

  4. 发送手机短信验证码-后端、前端(验证码倒计时)

    获取手机短信验证码-后端.前端(验证码倒计时) 后端 /*** 发送手机短信验证码** @return str* @throws Exception* @author 王永圣*/@RequestMap ...

  5. 短信接口被恶意盗刷(验证码短信被盗刷)怎么办?

    短信验证码被刷怎么办? 一 事件简述 二 问题分析 三 应急解决方案 1 黑名单模式拦截 2 请求验证拦截 3 应急方案总结 四 最终解决方案 第一步:获取防火墙帐号密钥 第二步:下载防火墙服务器 第 ...

  6. 阿里云短信一条价格包含验证码短信/短信通知/推广短信

    阿里云短信分为验证码短信.短信通知和推广短信.短信用途不同价格也不同,那么阿里云短信多少钱一条呢?阿里云短信是按实际使用数量阶梯收费的,短信君分享阿里云短信不同计费模式下不同短信用途的收费标准价格表: ...

  7. C++开发短信验证码通知短信

    提供可靠的用户手机认证服务 异常拦截.失败补呼.语音补呼等综合手段,为您提供高可靠的用户手机验证服务. 1 C++对接验证码短信接口DEMO示例 本文为您提供了C++版本的验证码短信接口对接DEMO示 ...

  8. 通知短信、验证码短信、营销短信有什么不同

    使用短信平台进行发送短信时,是否对验证码短信.营销短信.通知短信这几种类型的短信有疑问呢?下面飞鸽就带大家了解下他们的不同之处. 1.验证码短信 目前各类电商网站和各类app中经常使用短信验证码功能, ...

  9. 一条短信致倾家荡产?手机验证码安全吗

    当手机中的应用越来越多.绑定的服务也越来越多时,谁会想到一条短信引发的连锁反应,能让一个人在一夜间倾家荡产?近日,北京许先生的遭遇<中国移动,请你告诉我,为什么一条短信就能骗走我所有的财产?&g ...

最新文章

  1. php图片特效,php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
  2. AdBoost算法详解
  3. FastClick使用之trigger触发click失效
  4. 可视化管理_RFID技术实施智能仓储管理可视化
  5. HugeGraphServer 部署安装
  6. SQLExecption:Operation not allowed after ResultSet closed解决办法
  7. oracle创建时分秒列,oracle 11g 分区表创建(年月日周时分秒)
  8. 电脑大小写怎么切换_苹果笔记本电脑pro系列键盘的应用攻略
  9. JAVA嵌入运行Groovy脚本
  10. MySQL-高并发优化
  11. asp.net web.config配置节说明
  12. [转]linux命令技巧
  13. 安徽省计算机二级水平考试试卷,2010安徽省全国计算机等级考试二级笔试试卷VB试题及答案...
  14. 虚拟服务器软件哪个好,虚拟机软件哪个好?热门虚拟机软件推荐
  15. 【python】将多个txt文件合并为一个txt文件
  16. 五类IP地址范围及作用
  17. 二维码制作之批量生成名片二维码
  18. vcf文件怎么转成excel_批量vcf转成excel格式的方法
  19. php的lumen框架,Lumen框架“服务容器”源码解析
  20. android监听耳机,Android监听耳机按键事件

热门文章

  1. mysql运维备份_MySQL运维经验
  2. Weblogic安装时闪退,无法进行下一步问题
  3. 为你的网站添加 htpps
  4. hive时间AM PM格式转化为24小时制 按小时分morning,noon 思路+演示
  5. linux查看nas剩余大小,老徐玩NAS 篇二:我的群晖储存空间哪儿去了——100%破案的教程...
  6. python3爬虫实战姚良_Python3.X 爬虫实战(缓存与持久化)
  7. 防屏蔽浏览器_国外lead/emu广告联盟平台/扫盲篇–UA,指纹浏览器与流量来路-VMLogin指纹浏览器介绍..
  8. 关于继承BaseServlet后为什么form表单中必须加上method=“post”
  9. 我们数学中常用的自然常数e代表什么?看完长知识了!
  10. C语言编程核心要点,男人看了沉默,女人看了流泪