手机短信

因为项目需要通过发送手机短信的方式提醒用户,所以学习了一下用java程序来实现发送短信功能:

本例是通过使用中国网建提供的SMS短信平台(申请账号地址:http://sms.webchinese.cn/default.shtml)实现

Demo.java:

package com.cz.message;

import java.io.IOException;
import java.io.UnsupportedEncodingException;

import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;

public class Demo {
	public static void main(String[] args) {
		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", "*****"), // 注册的用户名
				new NameValuePair("Key", "*****"), // 短信api接口下的key密钥,不是你的登录密码
				new NameValuePair("smsMob", "*****"), // 手机号码
				new NameValuePair("smsText", "java程序发的信息!!") };
		post.setRequestBody(data);

		try {
			client.executeMethod(post);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		Header[] headers = post.getResponseHeaders();
		int statusCode = post.getStatusCode();
		System.out.println("statusCode:" + statusCode);
		for (Header h : headers) {
			System.out.println(h.toString());
		}
		String result = null;
		try {
			result = new String(post.getResponseBodyAsString().getBytes(
					"gbk"));
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		System.out.println(result);
		post.releaseConnection();
	}

}
 

运行本程序首先的代入三个jar包:
commons-codec-1.4
commons-httpclient-3.1
commons-logging-1.1.1
见上传附件:

猜你喜欢

转载自chenzheng8975.iteye.com/blog/1726149