使用中国网建实现Java向手机发送短信的功能
公司需要使用向指定手机发送验证码的功能,在网上搜了一下,有使用’短信猫’的,有使用WebService的,有使用第三方的,我使用的是中国网建提供的API来实现;
中国网建注册送五条短信和三条彩信做测试,这就足够了,今天公司刚买了几千条做测试!
首先是编码的选择:
GBK编码发送接口地址:
http://gbk.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888
UTF-8编码发送接口地址:
http://utf8.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888
参数详解如下表
我用的是UTF-8,官网提供了一个demo示例,用的httpclient是3.x,但我要用4.3.3,跟公司项目相匹配,
public String SendSecurityCode(String tel, String code) throws ClientProtocolException, IOException {CloseableHttpClient client = HttpClientBuilder.create().build(); HttpPost post = new HttpPost("http://utf8.sms.webchinese.cn"); post.addHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");//在头文件中设置转码List<NameValuePair> formparams = new ArrayList<NameValuePair>();formparams.add(new BasicNameValuePair("Uid", "公司名"));formparams.add(new BasicNameValuePair("Key", "短信密钥"));formparams.add(new BasicNameValuePair("smsMob",tel));formparams.add(new BasicNameValuePair("smsText","欢迎成为APP用户,验证码:" + code));try {post.setEntity(new UrlEncodedFormEntity(formparams,"utf-8"));//设置参数编码格式} catch (Exception e1) {e1.printStackTrace();}CloseableHttpResponse response = client.execute(post);int statusCode = response.getStatusLine().getStatusCode();System.out.println("statusCode:"+statusCode);Header[] headers = response.getAllHeaders();for(Header h : headers){System.out.println(h.toString());}String result = EntityUtils.toString(response.getEntity());System.out.println("----"+result); //打印返回消息状态post.releaseConnection();client.close();return result;}
一定要注意编码,因为如果编码不统一,导致乱码,会被拦截下来,导致短信发送不出去,上午就卡在这一块。
注意代码中的result,返回的是结果码,如下表格
有几点要注意,一个是短信密钥,一个是短信签名!
分别在“修改短信密钥”和“用户信息修改”,这两个是必填的,不然短信会发不出去,或者被拦截!
到此,将代码跑起来,等待手机的短信吧!
(具体的可以去中国网建官网进行查看和咨询客服。。。不是做广告的。。。。)
使用中国网建实现Java向手机发送短信的功能相关推荐
- Java演示手机发送短信验证码功能实现
我们这里采用阿里大于的短信API 第一步:登陆阿里大于,下载阿里大于的SDK a.在阿里大于上创建自己的应用 b.点击配置管理中的验证码,先添加签名,再配置短信模板 第二步:解压相关SDK,第一个为j ...
- Java实现手机发送短信验证码
发送短信验证码首先要在互亿无线短信平台去开通短信服务,地址"ihuyi.com" 一定要留好自己申请的API ID,API key和模板 参数说明: 代码示例: pom导包 < ...
- java + maven 实现发送短信验证码功能
如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...
- Java用户注册服务器发送短信验证码功能实现
<–start–> 当客户端发送了http的请求给服务器之后,服务器获取手机号然后调用短信平台给该手机号发送短信验证码. 给服务器发送请求的js代码: <script type=&q ...
- java 实现 手机接收短信验证码功能
需求 需要有发送手机短信的平台,这里以阿里云为例.如果没有,就不要试了,不会成功的. 创建一 ...
- JAVA如何实现发送短信
今天看到了一个需求,需要做一个发送短信的功能,网上找了找,大概有这几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;( ...
- Android 手机发送短信
参照网上的例子,做了一个手机发送短信的app. 有两种发送方法:第一种方法测试没有信息的发送记录,第二种调用的sms的Activity还要自行操作. 首先是xml布局文件代码: <LinearL ...
- SpringBoot 实现手机发送短信验证码
手机发送短信 内容 一.手机发送短信 1. 前端界面代码 2. UserInfoController 控制器 3. application.properties 配置类文件 4. 具体实现 总结 内容 ...
- java短信验证码功能发送的验证码如何校验_Java实现发送短信验证码功能
一个发送短信验证码的功能,使用的是信易通的短信平台接口,然后在Java中使用HttpClient模拟POST请求或者GET请求(看短信平台要求,一般的情况下都是POST请求),调用短信平台提供的接口( ...
最新文章
- bind函数作用、应用场景以及模拟实现
- DL之RBM:基于RBM实现手写数字图片识别提高准确率
- 计算机高级语言程序Access,[计算机软件及应用]Access的编程语言VBA.ppt
- 《SAS编程与数据挖掘商业案例》学习笔记之十七
- 为什么函数式语言会火
- 雷军博客1999:互联网创业的黄金年代,2009年移动互联网黄金年,太准了
- ARGMAX(以及ARGMIN)的意思
- 人脸识别门禁系统在2019年会加快应用
- Linux 下的 sleep
- [react-router] hashHistory 和 browserHistory 的区别
- 怎样三天训练出AI围棋大师?教你AlphaGo Zero的3个trick
- cookie和session的使用和区别
- MyBatis→SqlSession、sqlMapConfig.xml、映射XML文件、OGNL、拼接SQL标签、取值查值、批量SQL、一对多多对一多对多
- Android 补间动画(二)
- 泰迪杯数据挖掘挑战赛—机器学习(三)
- 如何修改Excel中csv文件编码格式
- advanced option里面没有resolution
- 投影仪家用哪个牌子好?如何选择投影仪
- 英语口语100之每日十句口语
- Java判断字符串是否为数字(正负、小数)