發(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