您的位置:首页 > 其它

项目中添加短信提醒或者验证码功能

2016-01-26 14:41 579 查看
我用的是中国网建的SMS短信通接口。

1.先去他们网站注册一个账号,每个账号有5条免费短信和3条免费彩信,用完之后需要充值购买。

2.下载需要用到的jar包,他们网站上有提供下载链接

commons-logging-1.1.1.jar
commons-httpclient-3.1.jar
commons-codec-1.4.jar

3.编写程序及调用

package com.guigu.store.utils;

import java.util.HashMap;
import java.util.Map;

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;
import org.junit.Test;
import org.springframework.test.context.TestExecutionListeners;

public class MessageUtils {

private static final String UID = "****";

private static final String KEY = "*******";

public static String SendMessage(Map<String,String> map) {
try{
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", UID),
new NameValuePair("Key", KEY),
new NameValuePair("smsMob", map.get("phone")),
new NameValuePair("smsText", map.get("text")) };
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();
return result;
}catch(Exception e){
System.out.println("发送短信出错啦!");
e.printStackTrace();
return "";
}

}
@Test
public void testSendMessage(){
Map<String,String> map = new HashMap<String,String>();
map.put("phone", "*******");
map.put("text", "验证码:8888");
String result = SendMessage(map);
System.out.println(result);
}

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  验证码 短信 sms