package com.lee.used;
import java.io.IOException;
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;
/**
* 通过sms.webchinese.cn ; 注册的用户名:,密码; 注册后可以查询短信密钥:
* @author Lee
*
*/
public class SendMessage {
/**
*
* @param username 用户名
* @param passKey 安全密匙
* @param telephoneNum 接收方电话号码
* @param messageBody 短信内容
* @throws HttpException
* @throws IOException
*/
public static void send(String username,String passKey,String telephoneNum,String messageBody) throws HttpException, IOException{
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://utf8.sms.webchinese.cn");
post.addRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=utf-8");// 在头文件中设置转码
NameValuePair[] data = { new NameValuePair("Uid", username),
new NameValuePair("Key", passKey),
new NameValuePair("smsMob", telephoneNum),
new NameValuePair("smsText", messageBody) };
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(): " + h.toString());
}
String result = new String(post.getResponseBodyAsString().getBytes(
"utf-8"));
System.out.println("result: " + result);
post.releaseConnection();
}
public static void main(String[] args) throws Exception {
String messageBody="短信测试成功!";
/***
* 第一个参数是注册的用户名
* 第二个是密钥(注册后自然会根据账户生成)
* 第三个是手机号
* 第四个是内容
*
*/
// SendMessage.send("bas_ball", "liand1xxxxx", "1827488xxxx", messageBody);
/***
* 这是返回状态
* 返回1 表示只发送1条成功(发送几条成功返回几)
*
* -1 没有该用户账户
-2 密钥不正确 [查看密钥]
-3 短信数量不足
-11 该用户被禁用
-14 短信内容出现非法字符
-4 手机号格式不正确
-41 手机号码为空
-42 短信内容为空
大于0 短信发送数量
*
*/
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn");
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在头文件中设置转码
NameValuePair[] data ={ new NameValuePair("Uid", "bas_ball"),new NameValuePair("Key", "a503e1bb5cb3b25f1981"),new NameValuePair("smsMob","1326750xxxx"),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();
}
}