公司需要使用向指定手机发送验证码的功能,在网上搜了一下,有使用’短信猫’的,有使用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向手机发送短信的功能相关推荐

  1. Java演示手机发送短信验证码功能实现

    我们这里采用阿里大于的短信API 第一步:登陆阿里大于,下载阿里大于的SDK a.在阿里大于上创建自己的应用 b.点击配置管理中的验证码,先添加签名,再配置短信模板 第二步:解压相关SDK,第一个为j ...

  2. Java实现手机发送短信验证码

    发送短信验证码首先要在互亿无线短信平台去开通短信服务,地址"ihuyi.com" 一定要留好自己申请的API ID,API key和模板 参数说明: 代码示例: pom导包 < ...

  3. java + maven 实现发送短信验证码功能

    如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...

  4. Java用户注册服务器发送短信验证码功能实现

    <–start–> 当客户端发送了http的请求给服务器之后,服务器获取手机号然后调用短信平台给该手机号发送短信验证码. 给服务器发送请求的js代码: <script type=&q ...

  5. java 实现 手机接收短信验证码功能

                                                          需求 需要有发送手机短信的平台,这里以阿里云为例.如果没有,就不要试了,不会成功的. 创建一 ...

  6. JAVA如何实现发送短信

    今天看到了一个需求,需要做一个发送短信的功能,网上找了找,大概有这几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;( ...

  7. Android 手机发送短信

    参照网上的例子,做了一个手机发送短信的app. 有两种发送方法:第一种方法测试没有信息的发送记录,第二种调用的sms的Activity还要自行操作. 首先是xml布局文件代码: <LinearL ...

  8. SpringBoot 实现手机发送短信验证码

    手机发送短信 内容 一.手机发送短信 1. 前端界面代码 2. UserInfoController 控制器 3. application.properties 配置类文件 4. 具体实现 总结 内容 ...

  9. java短信验证码功能发送的验证码如何校验_Java实现发送短信验证码功能

    一个发送短信验证码的功能,使用的是信易通的短信平台接口,然后在Java中使用HttpClient模拟POST请求或者GET请求(看短信平台要求,一般的情况下都是POST请求),调用短信平台提供的接口( ...

最新文章

  1. bind函数作用、应用场景以及模拟实现
  2. DL之RBM:基于RBM实现手写数字图片识别提高准确率
  3. 计算机高级语言程序Access,[计算机软件及应用]Access的编程语言VBA.ppt
  4. 《SAS编程与数据挖掘商业案例》学习笔记之十七
  5. 为什么函数式语言会火
  6. 雷军博客1999:互联网创业的黄金年代,2009年移动互联网黄金年,太准了
  7. ARGMAX(以及ARGMIN)的意思
  8. 人脸识别门禁系统在2019年会加快应用
  9. Linux 下的 sleep
  10. [react-router] hashHistory 和 browserHistory 的区别
  11. 怎样三天训练出AI围棋大师?教你AlphaGo Zero的3个trick
  12. cookie和session的使用和区别
  13. MyBatis→SqlSession、sqlMapConfig.xml、映射XML文件、OGNL、拼接SQL标签、取值查值、批量SQL、一对多多对一多对多
  14. Android 补间动画(二)
  15. 泰迪杯数据挖掘挑战赛—机器学习(三)
  16. 如何修改Excel中csv文件编码格式
  17. advanced option里面没有resolution
  18. 投影仪家用哪个牌子好?如何选择投影仪
  19. 英语口语100之每日十句口语
  20. Java判断字符串是否为数字(正负、小数)

热门文章

  1. JS getComputedStyle() 与 currentStyle
  2. hbase region拆分的三种方式
  3. 使用MAME的Lua引擎替代cheat的XML文件
  4. 如何修改页面呈现哀悼模式?
  5. CreateFileMapping 共享内存
  6. Android系统签名生成Studio导入系统keystore
  7. 网页中嵌入视频播放器
  8. 对于菜鸟网络,马云只要做到三件事:拉投资、布平台、造势
  9. 工作流引擎 Activiti 万字详细入门
  10. 编程累的时候适合听的音乐