java中用中国网建提供的SMS短信平台发送短信
接下来的项目需求中提到需要短信发送功能,以前没有做过,因此便在网上搜了一下。大体上说的都是有三种方法,分别是sina提供的webservice接口、短信mao和中国网建提供的SMS短信平台。
这三种方式,因为第一种和第三种都经过了别的平台转发,因此具有一定的安全隐患,第二种短信mao的方式相对可能要安全一些。
但是短信mao需要购买硬件设备,因此我便只好参考网上的文章先实现了用sms平台发送短信的功能。
这个功能说起来实际上很简单,java代码也很少,只是我在实现的过程中参照网上文章的代码和注释并没有马上成功发送短信。
好在在几经周折后终于成功,于是我发现原文的注释实际上和真正的操作不太一样,我便记录了下来,以便更多人参考。
参考文章地址:http://blog.csdn.net/csh624366188/article/details/7183457
这段代码如下:
- 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中用中国网建提供的SMS短信平台发送短信的更多相关文章
- 短信验证登陆-中国网建提供的SMS短信平台
一.JAVA发送手机短信常见的有三种方式(如下所列): 使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册 使用短信mao的方式进行短信 ...
- 中国网建提供的SMS短信发送
一个简单的发送短信的小demo 第一步: 兄弟们,首先你们去中国网建的官网去注册一个账户:网址http://sms.webchinese.cn/reg.shtml 第二步: 注册完成之后会有免费的测试 ...
- java 中国网建实现发送短信验证码
现在中国网建上注册一个自己的账户, 然后里面有代码案例,也有相应的下载jar包的地址 package com.direct.note; import java.io.IOException; impo ...
- java 短信猫发送短信的方法
用java实现短信收发的功能,目前一般项目中短信群发功能的实现方法大致有下面三种: · 1. 向运行商申请短信网关,不需要额外的设备,利用运行商提供的API调用程序发送 ...
- 阿里云短信服务发送短信验证码(JAVA开发此功能)
开发此功能需注册阿里云账号,并开通短信服务(免费开通) 充值后,不会影响业务的正常使用!(因为发送验证类短信:1-10万范围的短信是0.045元/条).开发测试使用,充2块钱测试足够了 可参考阿里云官 ...
- 中国网建SMS短信接口调用(java发送和接收手机短信)
1.先注册账号,一定要填写好签名格式.不填会返回-51错误. 代码信息接口详细==>http://sms.webchinese.cn/api.shtml . 2.测试代码 package ...
- 使用阿里大于平台发送短信验证码java代码实现
待续..网站app后台还未完成,不能添加签名,短信不能正常发送. Tip: https://help.aliyun.com/document_detail/55284.html?spm=5176.sm ...
- 使用短信猫发送短信java代码
短信猫简单配置:https://www.cnblogs.com/Big-Boss/p/9699880.html 发送短信: package utils; import org.smslib.AGate ...
- Java通过SMS短信平台实现发短信功能
在项目中使用过发短信的功能,但那个由于公司内部的限制很麻烦,今天在网上找到一个简单的,闲来无事就把它记录如下: 本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信 ...
随机推荐
- jq版本1.7以上on方法使用结构
<script> $(function(){ $(document).on(" ...
- System.Web.UI.ScriptManager.RegisterStartupScript(语句末尾加分号,不然可能会造成语句不执行)
System.Web.UI.ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "testKey", &q ...
- Zuoye for guo
A B C D E A - 3 6 10 13 B - - 5 9 12 C - - - 10 13 D - - - - 9 E - ...
- HTTP详解(2)
HTTP详解(2)-请求.响应.缓存 分类: 网络知识2013-03-17 16:45 1969人阅读 评论(0) 收藏 举报 目录(?)[+] 1. HTTP请求格式 做过Socket编程的 ...
- install usb serial
Install driver for USB-UART bridge converter on Linux Ubuntu12.04 Ubuntu下USB转串口芯片驱动程序安装,支持cp210x,pl2 ...
- JavaWeb学习记录(七)——MVC操作数据库增删改查与分页功能
一.分页工具类 package blank.util;import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; ...
- MySQL常用配置
查看MySQL的参数信息 mysql> show variables; 查看key_buffer_size的使用情况 mysql> show status like 'key_read%' ...
- POJ1236 Network of Schools (强连通)(缩点)
Network of Schools Time Limit: 1000MS ...
- hihoCoder#1055 : 刷油漆 (树形DP+01背包)
题目大意:给一棵带点权的树,现在要从根节点开始选出m个连通的节点,使总权值最大. 题目分析:定义状态dp(u,m)表示在以u为根的子树从根节点开始选出m个点连通的最大总权值,则dp(u,m)=max( ...
- AJAX保留浏览历史的解决方案——hashchange()
在ajax请求中,不能更新地址栏,地址栏上的“前进”和“后退”按钮就失效了,带来了另外一种糟糕的用户体验. 解决方案如下: 方案一:使用window. Onhashchange 事件 如下面Html片 ...