使用Java程序向手机发送短信
目录
使用Java程序向手机发送短信
JAVA发送手机短信,有几种方法:
(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,需要进行注册;
(2)使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备;
(3)使用中国网建提供的SMS短信平台(申请账号地址: );
本程序主要是运用了第三种中国网建提供的SMS短信平台,这个短信平台基于java提供个专门的接口,用户只需注册账号和密钥即可实现。
运行本程序首先的导入三个jar包:
commons-codec-1.4
commons-httpclient-3.1
commons-logging-1.1.1
请自行下载!
GBK编码发送接口地址 :
本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信内容
UTF-8编码发送接口地址:
本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信内容
获取短信数量接口地址(UTF8):
本站用户名&Key=接口安全密码
获取短信数量接口地址(GBK):
=本站用户名&Key=接口安全密码
本人亲测短信发送,Java代码如下:
package com.test.mobile;
import java.util.ArrayList;
import java.util.List;
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;
/**
* 类MyDemo.java的实现描述:向手机群发短信,中国网建:http://sms.webchinese.cn/default.shtml
*
* @author admin Nov 4, 2015 5:02:29 PM
*/
public class MyDemo {
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", "s******n"), // 注册的用户名
new NameValuePair("Key", "0753************"), // 注册成功后,网站分配的密钥(不是密码)
new NameValuePair("smsMob", “185********”), // 给该手机号码发送内容
new NameValuePair("smsText", "你好,这是我使用Java程序群发的测试短信!")
};
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();
}
}