您的位置:首页 > 编程语言 > Java开发

Java发送SMS短信到手机

2014-01-01 16:05 375 查看
本篇文章,是通过中国网建来给手机发送短信的。

1.在http://sms.webchinese.cn/注册账户,获取秘钥。

2.下载jar包

commons-codec-1.4.jar

commons-httpclient-3.1.jar

commons-logging-1.1.1.jar

3.将jar包导入工程中

4.写代码:

package com.sample;

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 TestSMS {
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", "秘钥"),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();
}
}
5.测试:
执行该方法之后,如果控制台最后一行返回的是1,则表示成功,如果返回-14 则表示短信有非法字符,如果返回-11 则表示短信签名有问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sms java