import java.io.IOException;
import java.util.Random;
import java.util.UUID;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
/**
* 短信發送接口工具類
*
* @author wfk
*
*/
public class SmsUtils {
/**
* 發送短信
* @param mobile
* @param message
*/
public static void sendSms(String mobile, String message) {
String info = null;
try {
HttpClient httpclient = new HttpClient();// 方法調用
PostMethod post = new PostMethod(Constant.SMS_URL);// 接口地址
post.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "utf8");// 格式轉換
post.addParameter("Search_ID", UuidUtils.get32UUID());// 接口數據
post.addParameter("login_name", Constant.SMS_USER_NAME);// 接口用戶名
post.addParameter("password", Constant.SMS_PASSWORD);// 接口密碼
post.addParameter("Message", message);// 短信內容
post.addParameter("Mobile", mobile);// 要發送短信的手機號,可多個手機號,用逗號隔開。
post.addParameter("SerialNumber", "20110801142517000000");// 序列號
post.addParameter("start_time", "");// 發送時間,如果定時發送,可插入時間
post.addParameter("TemplateId", "-1");
httpclient.executeMethod(post);
info = new String(post.getResponseBody(), "utf8");
System.out.println(info);
// 最後得到結果後,是一個字符長串,截取有用的信息,可判斷短信是否發送成功
} catch (IOException e) {
System.out.println("短信平臺連接超時,URL:"+Constant.SMS_URL+"===UID:"+Constant.SMS_USER_NAME+"===PASS:"+Constant.SMS_PASSWORD);
e.printStackTrace();
}
}
/**
* 產生隨機的六位數
* @return
*/
public static String getSix(){
Random rad=new Random();
String result = rad.nextInt(1000000) +"";
if(result.length()!=6){
return getSix();
}
return result;
}
}
httpClinent短信驗證碼
將發送的驗證碼封裝成工具類,到時只需要調用這個方法,將隨機生成的驗證碼傳入就行,上代碼:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.