發(fā)送手機(jī)短信驗(yàn)證碼功能幾乎是互聯(lián)網(wǎng)產(chǎn)品的標(biāo)配,如用戶注冊、賬戶密碼找回,安全登錄等。那么如何接入第三方短信驗(yàn)證碼接口實(shí)現(xiàn)發(fā)送手機(jī)短信驗(yàn)證碼功能呢?這里就為大家分享一下在java開發(fā)中,接入動(dòng)力思維樂信短信驗(yàn)證碼接口的demo示例供大家參考。
閱讀下面demo之前,需要先了解下以下兩個(gè)相關(guān)相關(guān)信息:
①樂信短信驗(yàn)證碼接口接入指南:http://www.iium.cn/jrzn.html
②樂信短信驗(yàn)證碼接口API文檔:http://www.iium.cn/apitext.html
/**
* 用來格式化seed參數(shù)
*/
private static final String dateFormatStr="yyyyMMddHHmmss";
public static void main(String[] args) {
//輸出發(fā)送結(jié)果
System.out.println(LxSdkImpl.sendSms("accName", "accPwd", "mobies", "content",""));
//輸出查詢報(bào)告結(jié)果
System.out.println(LxSdkImpl.qryReport("accName", "accPwd"));
//輸出查詢余額結(jié)果
System.out.println(LxSdkImpl.qryBalance("accName", "accPwd"));
//輸出查詢上行短信的結(jié)果
System.out.println(LxSdkImpl.receiveSms("accName", "accPwd"));
}
/**
* 發(fā)送短信
* @param accName 用戶名
* @param accPwd 密碼
* @param seed 當(dāng)前時(shí)間 格式:YYYYMMDD HHMISS 例如:20130806102030
* @param aimcodes 手機(jī)號多個(gè)手機(jī)號之間英文半角逗號隔開
* @param content 內(nèi)容后加簽名
* @param schTime 定時(shí)時(shí)間格式如:2010-01-01 08:00:00
* @return 服務(wù)端返回的結(jié)果 ok:業(yè)務(wù)id 或者 錯(cuò)誤代碼
*/
public static String sendSms(String accName,String accPwd,String mobies,String content,String schTime){
StringBuffer sb = new StringBuffer("https://sdk.lx198.com/sdk/send2?");
try {
String seed=new SimpleDateFormat(dateFormatStr).format(new Date());
sb.append("&accName="+accName);
sb.append("&seed="+seed);
sb.append("&accPwd="+MD5.getMd5String(MD5.getMd5String(accPwd)+seed));
sb.append("&aimcodes="+mobies);
sb.append("&schTime="+URLEncoder.encode(schTime,"UTF-8")); //空格標(biāo)點(diǎn)符號做encode轉(zhuǎn)換
sb.append("&content="+URLEncoder.encode(content,"UTF-8")); //中文做encode轉(zhuǎn)換
URL url = new URL(sb.toString());
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
return in.readLine();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 查詢余額
* @param accName 用戶名
* @param accPwd 原始密碼
* @param seed 當(dāng)前時(shí)間 格式:YYYYMMDD HHMISS 例如:20130806102030
* @return 服務(wù)端返回的結(jié)果 ok:業(yè)務(wù)id 或者 錯(cuò)誤代碼
*/
public static String qryBalance(String accName,String accPwd){
StringBuffer sb = new StringBuffer("https://sdk.lx198.com/sdk/qryBalance2?");
try {
String seed=new SimpleDateFormat(dateFormatStr).format(new Date());
sb.append("&accName="+accName);
sb.append("&seed="+seed);
sb.append("&accPwd="+MD5.getMd5String(MD5.getMd5String(accPwd)+seed));
URL url = new URL(sb.toString());
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
return in.readLine();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/**
* 查詢回執(zhí)報(bào)告
* @param accName 用戶名
* @param accPwd 原始密碼
* @param seed 當(dāng)前時(shí)間 格式:YYYYMMDD HHMISS 例如:20130806102030
* @return 返回的查詢報(bào)告結(jié)果 格式為:業(yè)務(wù)id,手機(jī)號,狀態(tài);業(yè)務(wù)id,手機(jī)號,狀態(tài) 狀態(tài)1表示成功;0表示失敗
*/
public static String qryReport(String accName,String accPwd){
StringBuffer sb = new StringBuffer("https://sdk.lx198.com/sdk/qryReport2?");
try {
String seed=new SimpleDateFormat(dateFormatStr).format(new Date());
sb.append("&accName="+accName);
sb.append("&seed="+seed);
sb.append("&accPwd="+MD5.getMd5String(MD5.getMd5String(accPwd)+seed));
URL url = new URL(sb.toString());
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
return in.readLine();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 查詢上行短信
* @param accName 用戶名
* @param accPwd 密碼
* @param seed 當(dāng)前時(shí)間 格式:YYYYMMDD HHMISS 例如:20130806102030
* @return 返回的上行短信信息格式為:簽名$$上行手機(jī)號$$上行內(nèi)容$$上行時(shí)間####簽名$$上行手機(jī)號$$上行內(nèi)容$$上行時(shí)間
*/
public static String receiveSms(String accName,String accPwd){
StringBuffer sb = new StringBuffer("https://sdk.lx198.com/sdk/receiveSms2?");
try {
String seed=new SimpleDateFormat(dateFormatStr).format(new Date());
sb.append("&accName="+accName);
sb.append("&seed="+seed);
sb.append("&accPwd="+MD5.getMd5String(MD5.getMd5String(accPwd)+seed));
URL url = new URL(sb.toString());
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
return in.readLine();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
了解更多有關(guān)短信java發(fā)送手機(jī)短信驗(yàn)證碼相關(guān)知識,請移步,樂信接口文檔中心:http://www.iium.cn/document.html