短信接口被廣泛應(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)可和信賴!