最近在做一个小型OA系统,所以没多少时间去写一些基础文章(当然也是由于我有点懒哈.),在本OA系统中有一个小功能就是短信提醒用户某些重要信息,这里采用的是第三方接口。
首先是下载必要的三个包:
commons-logging-1.1.1.jar
commons-httpclient-3.1.jar
commons-codec-1.4.jar
不废话,上代码:
package com.commns.message;
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;
/**
* 本实例时利用中国网建提供的接口,可惜每个用户只有免费的五条短信
* 中国网建提供的SMS平台、申请账号地址:http://sms.webchinese.cn/default.shtml
* @author Administrator
*
*/
public class Message {
public static void main(String[] args) throws Exception {
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://utf8.sms.webchinese.cn");
post.addRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=utf8");// 在头文件中设置转码
NameValuePair[] data = { new NameValuePair("Uid", "泼墨sunny"), // 注册的用户名
//new NameValuePair("Key", "166985"), // 注册成功后,登录网站使用的密钥
new NameValuePair("Key", "18084052eafca22343c1"), // 注册成功后,登录网站使用的密钥
new NameValuePair("smsMob", "189********"), // 手机号码
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(
"utf8"));
System.out.println(result);
post.releaseConnection();
}
}
上述代码采用的是中国建网提供的接口,每个新用户注册可以免费使用发送5条短信和3条彩信,如果公司需要可以购买接口,中国网建地址:http://sms.webchinese.cn
具体的样例中网建也说明的很详细,大家可以参考下。
(本例大部分也是中网上的内容,其实用这种方式发送短信调用接口很简单的)还有几种发送短信的方式,暂时没有尝试。后续讨论吧。