短信接口被廣泛應(yīng)用在網(wǎng)站、app應(yīng)用以及軟件系統(tǒng)中,如用戶注冊(cè)、密碼找回、會(huì)員服務(wù)、系統(tǒng)消息通知等應(yīng)用場(chǎng)景,那么如何調(diào)用短信接口呢?下面以java開發(fā)語言為例,為大家分享想調(diào)用短信接口的代碼。
這里就以調(diào)用動(dòng)力思維樂信短信接口為例,在分享代碼之前,大家需要先了解下樂信短信接口API文檔(http://www.iium.cn/apitext.html),以及樂信短信接口接入指南(http://www.iium.cn/jrzn.html)。
下面是具體的java調(diào)用短信接口代碼示例(完整代碼請(qǐng)點(diǎn)擊下載,http://www.iium.cn/api/sdk2.0_java.zip):
/** * 用來格式化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ī)號(hào)多個(gè)手機(jī)號(hào)之間英文半角逗號(hào)隔開 * @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)符號(hào)做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ī)號(hào),狀態(tài);業(yè)務(wù)id,手機(jī)號(hào),狀態(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ī)號(hào)$$上行內(nèi)容$$上行時(shí)間####簽名$$上行手機(jī)號(hào)$$上行內(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; }
如果還有什么不清楚的,可以在線咨詢我們,或撥打我們的400電話:400-6699-521,動(dòng)力思維樂信專注短信應(yīng)用行業(yè)14年,專業(yè)為廣大客戶提供短信驗(yàn)證碼、短信通知服務(wù),14年來先后為全國(guó)各地超4萬余客戶提供短信應(yīng)用服務(wù),深受大家的認(rèn)可和信賴!