中国网建java发送短信_短信验证登陆-中国网建提供的SMS短信平台

一、JAVA发送手机短信常见的有三种方式(如下所列):

使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册

使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备。

二、一下整理了SMS短信验证过程:

1、首先需要带入三个包:

commons-httpclient-3.1.jar      commons-logging-1.0.4.jar      codec-1.3.jar

2、创建发送短信的类(一般写在工具类中),其中要通过短信内容要进行设置编码集为utf-8,调用第三方接口传参要按照第三方文档规范:

packagecom.demo.util;importjava.io.IOException;importjava.util.Map;importorg.apache.commons.httpclient.HttpClient;importorg.apache.commons.httpclient.HttpException;importorg.apache.commons.httpclient.SimpleHttpConnectionManager;importorg.apache.commons.httpclient.methods.GetMethod;importorg.apache.commons.httpclient.methods.PostMethod;public classHttpRequestUtil {/*** HttpClient 模拟POST请求*/

public static String postRequest(String url, Mapparams) {//构造HttpClient的实例

HttpClient httpClient = newHttpClient();//创建POST方法的实例

PostMethod postMethod = newPostMethod(url);//设置请求头信息

postMethod.setRequestHeader("Connection", "close");//添加参数

for (Map.Entryentry : params.entrySet()) {

postMethod.addParameter(entry.getKey(), entry.getValue());

}//使用系统提供的默认的恢复策略,设置请求重试处理,用的是默认的重试处理:请求三次

httpClient.getParams().setBooleanParameter("http.protocol.expect-continue", false);//接收处理结果

String result = null;try{//执行Http Post请求

httpClient.executeMethod(postMethod);//返回处理结果

result =postMethod.getResponseBodyAsString();

}catch(HttpException e) {//发生致命的异常,可能是协议不对或者返回的内容有问题

System.out.println("请检查输入的URL!");

e.printStackTrace();

}catch(IOException e) {//发生网络异常

System.out.println("发生网络异常!");

e.printStackTrace();

}finally{//释放链接

postMethod.releaseConnection();//关闭HttpClient实例

if (httpClient != null) {

((SimpleHttpConnectionManager) httpClient.getHttpConnectionManager()).shutdown();

httpClient= null;

}

}returnresult;

}/*** HttpClient 模拟GET请求*/

public static String getRequest(String url, Mapparams) {//构造HttpClient实例

HttpClient client = newHttpClient();//拼接参数

String paramStr = "";for(String key : params.keySet()) {

paramStr= paramStr + "&" + key + "=" +params.get(key);

}

paramStr= paramStr.substring(1);//创建GET方法的实例

GetMethod method = new GetMethod(url + "?" +paramStr);//接收返回结果

String result = null;try{//执行HTTP GET方法请求

client.executeMethod(method);//返回处理结果

result =method.getResponseBodyAsString();

}catch(HttpException e) {//发生致命的异常,可能是协议不对或者返回的内容有问题

System.out.println("请检查输入的URL!");

e.printStackTrace();

}catch(IOException e) {//发生网络异常

System.out.println("发生网络异常!");

e.printStackTrace();

}finally{//释放链接

method.releaseConnection();//关闭HttpClient实例

if (client != null) {

((SimpleHttpConnectionManager) client.getHttpConnectionManager()).shutdown();

client= null;

}

}returnresult;

}

}

packagecom.demo.util;importjava.net.URLEncoder;importjava.util.HashMap;importjava.util.Map;public classSendMsgUtil {/*** 发送短信消息*/@SuppressWarnings("deprecation")public staticString sendMsg(String phones,String content){//短信接口URL提交地址utf-8

String url = "http://utf8.sms.webchinese.cn";

Map params = new HashMap();//用户名,例:abc123456

params.put("Uid", "yu3961520");//短信接口密钥 ,不是密码,例:79c3053154d313a34567

params.put("Key", "d41d8cd98f00b204e980");//手机号码,多个号码使用英文逗号进行分割

params.put("smsMob", phones);//将短信内容进行URLEncoder编码

params.put("smsText", URLEncoder.encode(content));returnHttpRequestUtil.getRequest(url, params);

}/*** 随机生成6位随机验证码*/

public staticString createRandomVcode(){//验证码

String vcode = "";for (int i = 0; i < 6; i++) {

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

}returnvcode;

}/*** 测试*/

public static voidmain(String[] args) {//多个手机号请用半角,隔开//例:System.out.println(sendMsg("18912345678,17812345678", "尊敬的用户,您的验证码为" + SendMsgUtil.createRandomVcode() + ",有效期为60秒,如有疑虑请详询400-3023-4493(客服电话)【中国联通】"));

System.out.println(sendMsg("电话号码", "*****,你的验证码为" + SendMsgUtil.createRandomVcode() + ",有效期为60秒,如有疑虑请详询(******)【签名,这是验证格式的必须填】"));

}

}

3、短信发送后返回值 说明 :

-1 没有该用户账户

-2 密钥不正确(不是用户密码)

-3 短信数量不足

-11 该用户被禁用

-14 短信内容出现非法字符

-41 手机号码为空

-42 短信内容为空

大于0 短信发送数量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stm32外部中断_STM32学习笔记 | 电源管理及低功耗设计要点

一款好的电子产品&#xff0c;都需要认真考虑电源管理的问题&#xff0c;电池供电的产品更应该注意低功耗的实现。 STM32电源介绍嵌入式开发直播课 - STM32 USART串口的应用 - 创客学院直播室​www.makeru.com.cn每一块STM32芯片中都有一个电源控制器&#xff08;PWR&#xff0…

delphi 调用浏览器内核_HFL:基于混合模糊测试的Linux内核漏洞挖掘

RemarksConference: NDSS 2020Full Paper: HFL: Hybrid Fuzzing on the Linux KernelSummary针对的问题&#xff1a; Linux 操作系统内核安全漏洞的发现需要新技术。现有解决方案的不足&#xff1a;当前的模糊测试技术难以直接应用于内核安全漏洞发现。提出的创新方案概述&…

隔行变色java代码_jquery入门—选择器实现隔行变色实例代码

1、JQuery选择器继承了CSS、path语音的部分语法&#xff0c;允许通过标签名、属性名、内容对DOM元素进行快速、准确的选择。2、JQuery选择器与JavaScript相比&#xff0c;具有代码简单、完善的检测机制的优势。3、使用JQuery选择器实现隔行变色&#xff0c;示例代码如下&#x…

python arduino c_从Python向Arduino LCD发送一个字符串

我想用python在arduinolcd16x2上显示一个字符串&#xff0c;但是我遇到了串行通信的问题。在以下是Arduino中运行的代码&#xff1a;Arduino代码#include LiquidCrystal lcd(8, 9, 4, 5, 6, 7);String stringa;const unsigned long TimeOut 10; // timeout 10 msString string…

如何实现软件的远程更新_手机免root终于也能实现远程控制了 这款国产软件真是越来越好用...

说到远程控制&#xff0c;大家或许可以说出好几个应用软件出来&#xff0c;比如Teamviewer、Anydesk、向日葵等等。其实&#xff0c;这些软件我都用过&#xff0c;但Teamviewer现在对个人用户经常宕机&#xff0c;Anydesk的功能又不够丰富&#xff0c;只有一个向日葵远程控制是…

角标越界 Java_【新人求助】利用占位符操作数据库是总是提示数组角标越界是怎么回事 - Java论坛 - 51CTO技术论坛_中国领先的IT技术社区...

用占位符和数组来操作数据库总是提示下角标越界&#xff0c;找了半天也没弄明白哪里有问题&#xff0c;这个地方是跟着云课堂老师的讲解做的&#xff0c;只不过操作的数据表不一样&#xff0c;但是老师那个就没问题&#xff0c;我就出了问题&#xff0c;如果有大神能帮忙看看&a…

简述ospf的工作原理_现代数字存储示波器的工作原理简述

示波器是一种用途十分广泛的电子测量仪器。俗话说&#xff0c;电是看不见摸不着的。但是示波器可以帮我们“看见”电信号&#xff0c;便于人们研究各种电现象的变化过程。所以示波器的核心功能&#xff0c;就和他的名字一样&#xff0c;是显示电信号波形的仪器&#xff0c;以供…

pyecharts 间距_高月双色球20108期:红球首尾间距参考29区段

双色球第2020108期奖号为&#xff1a;03 09 11 24 25 28 16&#xff0c;红球和值&#xff1a;100&#xff0c;重号2个&#xff1a;11 28&#xff0c;首尾间距&#xff1a;25。和值&#xff1a;上期和值为100&#xff0c;上升了22点&#xff0c;再次开出小和值&#xff0c;最近…

java类中声明log对象_用于Android环境,java环境的log打印,可打印任何类型数据

LogXixi用于Android环境&#xff0c;java环境的log打印&#xff0c;可打印任何类型数据,根据android项目环境debug环境自动打开&#xff0c;release环境自动关闭android环境log打印&#xff0c;规范bean对象&#xff0c;json&#xff0c;xml对应log&#xff0c;crash捕捉&#…

xbox手柄接收器驱动_xbox手柄连接 win10电脑

xbox手柄 连接win10笔记本 分为三种连接方式&#xff1a;有线蓝牙无线适配器首先说明一下连接方式的特点然后说明连接方式第一种&#xff1a;有线连接 手柄直接通过micro USB数据线和win10电脑连接。这一步最简单&#xff0c;一般电脑会自动安装驱动&#xff0c;连接之后可以使…

单片机复位后为什么要对sp重新赋值_51单片机系列之2点亮第一个led小灯

点亮led灯简单的理解就是要求阳极高电平阴极低电平。接下来我们去看看单片机的原理图&#xff0c;找到led 模块。如图可以看到led的阳极是连接的VCC(电源高电平)阴极连接的接口是单片机的I/O口P20到P27.要想led点亮只需控制单片机I/O口输出低电平即可(单片机I/O口默认高电平)。…

db2与mysql编目_DB2编目、联邦数据库 - Goopand's OS Space - OSCHINA - 中文开源技术交流社区...

一、两个数据库在不同的服务器上[环境描述]10.0.0.10&#xff1a;库名为 db_1010.0.0.17&#xff1a;库名为 db_17[需求描述]在db_17库中&#xff0c;跨库查询db_10库的表[操作步骤]1)在10.0.0.17数据库服务器&#xff0c;开启联邦支持db2 "update dbm cfg using federate…

关机时无人照管更新正在运行_无法抗拒的未来:无人叉车在内部物流中已成为现实...

自动化和半自动化的叉车不再是新奇的东西&#xff0c;在人力短缺的仓库中取得了进展。他们最终会成为规范吗?目前尚不知道全世界有多少辆无人驾驶叉车(也称为自动叉车、机器人叉车或者AGV)售出。但是叉车生产商都显示出&#xff0c;它在该领域的迅速增长。重要的是&#xff0c…

打开浏览器不是主页_对于360浏览器的一些小小改善

​虽然自己不怎么喜欢&#xff0c;但是以前小编的多数同事都在使用它&#xff0c;所以今天带来360安全浏览器改造的小建议。整理&排版 | idea君 &#xff0c;预计阅读 | 4分钟文章意在学习交流分享&#xff0c;如有侵权请联系删除封面&#xff1a;http://www.pexels.com/zh…

c++ 二次开发 良田高拍仪_六枝特良田LYV-850加工中心导轨配套防护罩日常维修

六枝特良田LYV-850加工中心导轨配套防护罩日常维修我厂生产的防护罩质量可与原厂的一样&#xff0c;同样的保障&#xff0c;质保期为一年&#xff0c;护罩安装不合适支持退换货。尤其是元件连结的接合面刚度&#xff0c;对加工精度影响较大。通常&#xff0c;采用组合夹具时其尺…

atomikosdatasourcebean mysql_SpringBoot2整合JTA组件实现多数据源事务管理

一、JTA组件简介1、JTA基本概念JTA即Java-Transaction-API&#xff0c;JTA允许应用程序执行分布式事务处理&#xff0c;即在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序对JTA的支持极大地增强了数据访问能力。XA协议是数据库层面的一套分布式事务管理的规范,JTA…

crt 8.7.3 黑暗模式_民谣缠绕厄运金属,抒情中的黑暗故事

2020/7/31&#xff0c;瑞典厄运/重金属乐队Dun Ringill&#xff0c;发表了新专辑“Library of Death”。“Library Of Death”是瑞典乐队Dun Ringill的第二张唱片&#xff0c;由The Order of Israfel、Doomdogs等成员发起。乐队的声音&#xff0c;介于重金属和厄运金属之间&…

前窗玻璃膜贴了一周还有气泡_关于车窗玻璃的养护你了解多少?

【中国皮卡网 维修保养】车窗玻璃的养护是最容易忽视的&#xff0c;但它也是非常重要的&#xff0c;虽然在用车过程中我们很少直接接触车窗玻璃&#xff0c;但是它却时时刻刻在影响着驾驶者。相信很多人会有洗车的习惯&#xff0c;洗好之后的车窗玻璃非常明亮&#xff0c;不仅仅…

c语言新龟兔赛跑_幽默 | 新龟兔赛跑

新龟兔赛跑作者 / 何必加自从输给了乌龟后&#xff0c;兔子心里很是生气。这一天&#xff0c;他又遇见了乌龟&#xff0c;要求和他比赛&#xff0c;一定要一雪前耻。乌龟答应了&#xff0c;并且约定连比三场。第一场还是兔子输了&#xff0c;原来他一着急&#xff0c;跑错了方向…

PHP无法执行MySQL语句,解决PHP执行批量MySQL语句的问题

这篇文章主要为大家详细介绍了解决PHP执行批量MySQL语句的问题&#xff0c;具有一定的参考价值&#xff0c;可以用来参考一下。感兴趣的小伙伴&#xff0c;下面一起跟随512笔记的小玲来看看吧&#xff01;当有多条mysql语句连起来需要执行&#xff0c;比如$sqls “insert table…