自主项目学习过程中,想添加一个验证码发送至手机的功能,问题是需要第三方提供的借口,好吧,天下没有什么好的免费午餐。同样脑疼的也适用于这里,先看看自己通过网络学习的东东:
package com.yc.mobile;
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;
public class SendMessage {
/**
* @author 牧羊的伯格女皇
* @param args
* @throws IOException
* @throws HttpException
*/
public static void main(String[] args) throws HttpException, IOException {
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", "*******"), // 用户名
new NameValuePair("Key", "*******"), // Key使用的是密钥,而不是你登录账户的登录密码
new NameValuePair("smsMob","*********"), // 发送短息具体到手机的手机号码
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();
}
}
// 当能看到返回的是 大于0 的时候, 就是成功了... ,且该数量就是你发送的短信数量
好了,需要注意的是别拿到代码就是复制粘贴还是需要通读下如何来使用,具体详情请点击下面,
链接地址: http://sms.webchinese.cn/api.shtml
还需要在该链接地址上 下载需要的三个包文件,以及注册自己的一个小小的账号。 好了,不罗嗦了.............
原文:http://my.oschina.net/u/2405367/blog/516994