httpClinent短信驗證碼

將發送的驗證碼封裝成工具類,到時只需要調用這個方法,將隨機生成的驗證碼傳入就行,上代碼:
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;  
    } 
	

}
發佈了47 篇原創文章 · 獲贊 32 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章