最近在写后台,所以有些方法想记录下来,下面是叮咚云短信验证码接口调用,叮咚云的地址http://www.dingdongcloud.com/,里面有详细的信息,下面是我写的一个方法,仅供参考。
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Random;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.lang3.StringUtils;
public class SendMsgUtil {
/**
* 发送验证码短信
*
* @param apikey
* apikey
* @param mobile
* 手机号码(唯一,不许多个)
* @param content
* 短信发送内容(必须经过utf-8格式编码)
* @return json格式字符串
*/
public static String msg(String mobile){
String URL_SEND_YZM =”https://api.dingdongcloud.com/v1/sms/sendyzm”;
String ENCODING = “UTF-8”;
String apikey = “这里填写从叮咚云获取的apikey”;
Random random = new Random();
int randomNumber = (random.nextInt(89999) + 10000);
String code = Integer.toString(randomNumber); //随机的五位验证码code
//短信格式,可以修改
String yzmContent = “【叮咚云】您的验证码是:”+code;
if (StringUtils.isNotBlank(yzmContent)) {
try {
yzmContent = URLEncoder.encode(yzmContent, ENCODING);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
NameValuePair[] data = { new NameValuePair("apikey", apikey),
new NameValuePair("mobile", mobile),
new NameValuePair("content", yzmContent) };
doPost(URL_SEND_YZM, data);
return code;
};
/**
* 基于HttpClient的post函数
*
* @param url
* 提交的URL
*
* @param data
* 提交NameValuePair参数
* @return 提交响应
*/
private static String doPost(String url, NameValuePair[] data) {
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(url);
// method.setRequestHeader("ContentType",
// "application/x-www-form-urlencoded;charset=UTF-8");
method.setRequestBody(data);
// client.getParams().setContentCharset("UTF-8");
client.getParams().setConnectionManagerTimeout(10000);
try {
client.executeMethod(method);
return method.getResponseBodyAsString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}