这个是方法是使用中国网建提供的SMS短信平台(http://sms.webchinese.cn)进行实现。
所以在做这个的时候需要在中国网建SMS短信平台注册个用于测试的用户名,拿到用户名和密钥
需引用的jar包
commons-logging-1.1.1.jar
commons-httpclient-3.1.jar
commons-codec-1.4.jar
第一部分:SMS短信通编码接口
GBK编码发送接口地址:
http://gbk.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信容
UTF-8编码发送接口地址:
http://utf8.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信内容
获取短信数量接口地址(UTF8):
http://sms.webchinese.cn/web_api/SMS/?Action=SMS_Num&Uid=本站用户名&Key=接口安全密码
获取短信数量接口地址(GBK):
http://sms.webchinese.cn/web_api/SMS/GBK/?Action=SMS_Num&Uid=本站用户名&Key=接口安全密码
提示:HTTP调用URL接口时, 参数值必须URL编码后再调用
提示:①、多个手机号请用半角,隔开如:13888888886,13888888887,1388888888 一次最多对100个手机发送。 ②、短信内容支持长短信,最多300个字,普通短信66个字/条,长短信64个字/条计费
| ||||||||||||||||||||||||||||||||||||
注意:①、调用API接口,需登录中国网建SMS短信通平台,申请106网关发送,即发即到! |
JAVA语言发送短信核心代码:
import java.io.UnsupportedEncodingException;
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;
public class SendMsg_webchinese {
public static void main(String[] args)throws Exception{
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();
}
}