接下来的项目需求中提到需要短信发送功能,以前没有做过,因此便在网上搜了一下。大体上说的都是有三种方法,分别是sina提供的webservice接口、短信mao和中国网建提供的SMS短信平台。

这三种方式,因为第一种和第三种都经过了别的平台转发,因此具有一定的安全隐患,第二种短信mao的方式相对可能要安全一些。

但是短信mao需要购买硬件设备,因此我便只好参考网上的文章先实现了用sms平台发送短信的功能。

这个功能说起来实际上很简单,java代码也很少,只是我在实现的过程中参照网上文章的代码和注释并没有马上成功发送短信。

好在在几经周折后终于成功,于是我发现原文的注释实际上和真正的操作不太一样,我便记录了下来,以便更多人参考。

这段代码如下:

package com.text;

import org.apache.commons.httpclient.Header;

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.NameValuePair;

import org.apache.commons.httpclient.methods.PostMethod;

public class SendMsg_webchinese {

public static void main(String[] args) throws Exception {

HttpClient client = new HttpClient();

PostMethod post = new PostMethod("http://sms.webchinese.cn/web_api/");

post.addRequestHeader("Content-Type",

"application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码

NameValuePair[] data = { new NameValuePair("Uid", "cshxxxxxxxx"), // 注册的用户名

new NameValuePair("Key", "53295058d1c46710666a"), // 注册成功后,登录网站使用的密钥

new NameValuePair("smsMob", "187xxxxxxx"), // 手机号码

new NameValuePair("smsText", "以后给我老实点哈。。。。听话。。。") };//设置短信内容

post.setRequestBody(data);

client.executeMethod(post);

Header[] headers = post.getResponseHeaders();

int statusCode = post.getStatusCode();

System.out.println("statusCode:" + statusCode);

for (Header h : headers) {

System.out.println(h.toString());

}

String result = new String(post.getResponseBodyAsString().getBytes(

"gbk"));

System.out.println(result);

post.releaseConnection();

}

需要说明的是“注册成功后,登录网站使用的密钥”这里,我按照文中注释把Uid后的内容改成自己注册的用户名,把smsMob后的内容换成了自己的手机号,然后也把key后的内容换成了自己登陆中国网建(

http://sms.webchinese.cn/Login.shtml)的登陆密码,但是结果一运行程序,返回值是-2,也没有收到短信。

根据文中的说明可以知道-2是密码错误,于是我又试了一下登陆,密码并没有错误。没办法,我只好在中国网建登陆后的页面一一查看,后来才发现原来有一个专门发送短信接口的密钥,把key后的内容换成这个之后再一运行程序,返回值变成了-51,还是不成功,不过证明密码已经正确了。

-51说明短信签名有问题,于是我又跑到中国网建一看,原来签名那里我没有填,如下图填好签名,再次运行程序,返回值变成了1,代表成功发送一条数据。

而得到返回值1之后,我手机也成功收到了短信,网站注册时送的5条免费短信也变成了剩余4条。如下图:

中国网建 java_java中用中国网建提供的SMS短信平台发送短信相关推荐

  1. java中用中国网建提供的SMS短信平台发送短信

    接下来的项目需求中提到需要短信发送功能,以前没有做过,因此便在网上搜了一下.大体上说的都是有三种方法,分别是sina提供的webservice接口.短信mao和中国网建提供的SMS短信平台. 这三种方 ...

  2. 通过中国网建sms平台发送短信

    第一步,登录中国网建注册账号并设置短信签名(设置短信签名很重要,不然一直返回-51短信签名格式不正确) 第二步,上代码 public static void main(String[] args) { ...

  3. springboot+网建短信通发送短信

    Springboot发送短信验证码 前言 短信验证码是通过发送验证码到手机的一种有效的验证码系统.主要用于验证用户手机的合法性及敏感操作的身份验证. 第三方短信发送平台有很多种,各个平台有各自的优缺点 ...

  4. java使用中国网建sms发送短信

    一.说明 不管哪个短信平台发送短信都很类似.举一反三. 二.先去中国网建注册账号. 地址:https://www.smschinese.com.cn/ 注册完成后直接登录. 找到接口功能设置可以获取账 ...

  5. 中国网建SMS短信接口调用(java发送短信)

    java发送短信 package sms;import org.apache.commons.httpclient.Header; import org.apache.commons.httpclie ...

  6. 中国网建提供的SMS短信发送

    一个简单的发送短信的小demo 第一步: 兄弟们,首先你们去中国网建的官网去注册一个账户:网址http://sms.webchinese.cn/reg.shtml 第二步: 注册完成之后会有免费的测试 ...

  7. Java使用中国网建发送短信验证码

    一.注册,登录以及注意事项. 1.1 中国网建网址:http://www.smschinese.cn 1.2 注册时用户名,以及姓名都可以随便写,邮箱只会验证存在与否,不会发验证码验证,手机号填自己的 ...

  8. 调用中国网建API发送短信

    //玩微信买吃的给自己发了条短信忽的想看看他是怎么玩的 找了一下,网上有三种发送短信的方式,我这里只记录一种.花了30分钟玩了一下,顺带做个笔记 还有什么比官方更官方么! 官方地址:http://ww ...

  9. JAVA接入中国网建SMS短息短信平台开发(学习整理)

    1.增加架包 <!-- 中国网建提供的SMS短信 --><dependency><groupId>commons-httpclient</groupId> ...

最新文章

  1. Redis初学:5(String类型的基本操作)
  2. JQuery制作的toolTip,针对图片预览效果
  3. Spring Cloud系列:不重启eureka,清除down掉的服务
  4. 中国电磁线行业发展前景预测与竞争态势分析报告2022-2028年版
  5. 华为欧拉操作系统发布,将推出自研编程语言打通鸿蒙和欧拉
  6. C语言中open与fopen的的解释和区别
  7. html自动图片尺寸,关于html:CSS背景图像适合宽度,高度应按比例自动缩放
  8. fpga 峰值采样_FPGA开发者都喜欢用的通用高性能电源解决方案
  9. zookeeper 日志查看_zookeeper 安装和集群配置
  10. hibernate 批量插入 Batch
  11. vs2017激活密钥
  12. 调试器如何工作(2)
  13. 网上图书商城项目学习笔记-017结算,跳转结算页面
  14. Linux设备模型之device_add
  15. vxworks培训笔记
  16. 【Graphite】Graphite常用函数使用
  17. java目前开发的背景_Java web 开发构想[一] 背景和形势
  18. 测试面试之Linux
  19. vue自定义星星评分组件rater,可自定义星星图片,大小,暂不支持半颗星
  20. 码出高效:Java开发手册笔记(线程池及其源码)

热门文章

  1. Java日期时间处理
  2. CSUST选拔赛题解
  3. [HTML+CSS] 仿京东首页项目实战
  4. mybatis快速入门
  5. 这些年做项目带新人的经验总结
  6. 德罗巴鬼斧神工巴拉克红牌 切尔西1-0险胜利物浦
  7. 软件测试 | 常见覆盖率统计工具
  8. 那些你不知道的MapStruct用法——Mapstruct自定义映射
  9. std::mutex找bug解析
  10. 三分钟快速入门mpvue