接口文檔
代碼示例
import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.*; import java.util.HashMap; import java.util.Map; /** * 用來格式化seed參數(shù) */ private static final String dateFormatStr="yyyyMMddHHmmss"; public static void main(String[] args) { //輸出發(fā)送結果 System.out.println(LxSdkImpl.sendSms("accName", "accPwd", "aimcodes", "content")); //輸出查詢報告結果 System.out.println(LxSdkImpl.qryReport("accName", "accPwd")); //輸出查詢余額結果 System.out.println(LxSdkImpl.qryBalance("accName", "accPwd")); //輸出查詢上行短信的結果 System.out.println(LxSdkImpl.receiveSms("accName", "accPwd")); } /** * 短信發(fā)送 * * @param accName * 樂信賬號 * @param accPwd * 樂信密碼 * @param aimcodes * 接收者手機號 * @param content * 短信內容(包含內容和簽名) * @return */ private static String sendSms(String accName, String accPwd, String aimcodes, String content) { try { Mapparams = new HashMap<>(); params.put("accName", accName); params.put("accPwd", MD5.getMd5String(accPwd)); params.put("content", URLEncoder.encode(content,"UTF-8")); String url = "http://www.iium.cn/sdk/send"; params.put("aimcodes",號碼); params.put("dataType","json"); String res = post(url,params,null,0,"UTF-8"); return res; } catch (Exception e) { logger.error("發(fā)送短信失敗", e); } return null; } /** * 獲取連接 * @param urlStr * @param host * @param port * @return */ public static HttpURLConnection getConnection(String urlStr,String host,int port) { HttpURLConnection uc = null; try { URL url = new URL(urlStr); uc = (HttpURLConnection)url.openConnection(); } catch (Exception e) { e.printStackTrace(); } return uc; } /** * 使用代理post請求 * @param url * @param params * @param host * @param port * @param chart * @return */ public static String post(String url, Map params, String host, int port, String chart) { String msg = ""; try { HttpURLConnection httpURLConnection = getConnection(url, host, port); //設置是否向connection輸出,因為這個是post請求,參數(shù)要放在http正文內,因此需要設為true httpURLConnection.setDoOutput(true); httpURLConnection.setDoInput(true); // 默認是 GET方式 httpURLConnection.setRequestMethod("POST"); // Post 請求不能使用緩存 httpURLConnection.setUseCaches(false); httpURLConnection.setInstanceFollowRedirects(true); httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); httpURLConnection.setRequestProperty("contentType", chart); // 設置連接超時 httpURLConnection.setConnectTimeout(10000); // 設置讀取超時 httpURLConnection.setReadTimeout(10000); //POST請求 DataOutputStream out = new DataOutputStream(httpURLConnection.getOutputStream()); StringBuffer params2 = new StringBuffer(); for (String key : params.keySet()) { params2.append(key).append("=").append(params.get(key)).append("&"); } String paramsStr = params2.toString(); int len = paramsStr.lastIndexOf("&"); paramsStr =paramsStr.substring(0, len); byte[] bypes = paramsStr.toString().getBytes(); out.write(bypes); out.flush(); out.close(); //讀取響應 BufferedReader reader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(),chart)); String lines; StringBuffer sb = new StringBuffer(""); while ((lines = reader.readLine()) != null) { lines = new String(lines.getBytes()); sb.append(lines); } msg = sb.toString(); reader.close(); // 斷開連接 httpURLConnection.disconnect(); } catch (Exception e) { e.printStackTrace(); } return msg; } /** * 查詢余額 * @param accName 用戶名 * @param accPwd 原始密碼 * @return 服務端返回的結果 ok:業(yè)務id 或者 錯誤代碼 */ public static String qryBalance(String accName,String accPwd){ StringBuffer sb = new StringBuffer("http://www.iium.cn/sdk/qryBalance?"); try { sb.append("&accName="+accName); sb.append("&accPwd="+MD5.getMd5String(accPwd)); 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í)報告 * @param accName 用戶名 * @param accPwd 原始密碼 * @return 返回的查詢報告結果 格式為:業(yè)務id,手機號,狀態(tài);業(yè)務id,手機號,狀態(tài) 狀態(tài)1表示成功;0表示失敗 */ public static String qryReport(String accName,String accPwd){ StringBuffer sb = new StringBuffer("http://www.iium.cn/sdk/qryReport?"); try { sb.append("&accName="+accName); sb.append("&accPwd="+MD5.getMd5String(accPwd)); 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 密碼 * @return */ public static String receiveSms(String accName,String accPwd){ StringBuffer sb = new StringBuffer("http://www.iium.cn/sdk/receiveSms?"); try { String seed=new SimpleDateFormat(dateFormatStr).format(new Date()); sb.append("&accName="+accName); sb.append("&accPwd="+MD5.getMd5String(accPwd)); 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; }
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.*;
import java.util.HashMap;
import java.util.Map;
/**
* 用來格式化seed參數(shù)
*/
private static final String dateFormatStr="yyyyMMddHHmmss";
public static void main(String[] args) {
//輸出發(fā)送結果2222222
Map params = new HashMap<>();
params.put("accName",賬號);
params.put("accPwd",MD5.getMd5String(密碼));
params.put("content","內容【簽名】");
String url = "http://www.iium.cn/sdk/send";
params.put("aimcodes",號碼);
params.put("dataType","json");
String str = post(url,params,"www.iium.cn",80,"UTF-8");
System.out.println(str);
//輸出查詢報告結果
System.out.println(LxSdkImpl.qryReport("accName", "accPwd"));
//輸出查詢余額結果
System.out.println(LxSdkImpl.qryBalance("accName", "accPwd"));
//輸出查詢上行短信的結果
System.out.println(LxSdkImpl.receiveSms("accName", "accPwd"));
}
/**
* 獲取連接
* @param urlStr
* @param host
* @param port
* @return
*/
public static HttpURLConnection getConnection(String urlStr,String host,int port) {
HttpURLConnection uc = null;
try {
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, port));
URL url = new URL(urlStr);
uc = (HttpURLConnection)url.openConnection(proxy);
} catch (Exception e) {
e.printStackTrace();
}
return uc;
}
/**
* 使用代理post請求
* @param url
* @param params
* @param host
* @param port
* @param chart
* @return
*/
public static String post(String url, Map params, String host, int port, String chart) {
String msg = "";
try {
HttpURLConnection httpURLConnection = getConnection(url, host, port);
//設置是否向connection輸出,因為這個是post請求,參數(shù)要放在http正文內,因此需要設為true
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
// 默認是 GET方式
httpURLConnection.setRequestMethod("POST");
// Post 請求不能使用緩存
httpURLConnection.setUseCaches(false);
httpURLConnection.setInstanceFollowRedirects(true);
httpURLConnection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
httpURLConnection.setRequestProperty("contentType", chart);
//POST請求
DataOutputStream out = new DataOutputStream(httpURLConnection.getOutputStream());
StringBuffer params2 = new StringBuffer();
for (String key : params.keySet()) {
params2.append(key).append("=").append(params.get(key)).append("&");
}
String paramsStr = params2.toString();
int len = paramsStr.lastIndexOf("&");
paramsStr =paramsStr.substring(0, len);
byte[] bypes = paramsStr.toString().getBytes();
out.write(bypes);
out.flush();
out.close();
//讀取響應
BufferedReader reader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(),chart));
String lines;
StringBuffer sb = new StringBuffer("");
while ((lines = reader.readLine()) != null) {
lines = new String(lines.getBytes());
sb.append(lines);
}
msg = sb.toString();
reader.close();
// 斷開連接
httpURLConnection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return msg;
}
/**
* 查詢余額
* @param accName 用戶名
* @param accPwd 原始密碼
* @param seed 當前時間 格式:YYYYMMDD HHMISS 例如:20130806102030
* @return 服務端返回的結果 ok:業(yè)務id 或者 錯誤代碼
*/
public static String qryBalance(String accName,String accPwd){
StringBuffer sb = new StringBuffer("http://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;
}
/**
* 查詢繪制報告
* @param accName 用戶名
* @param accPwd 原始密碼
* @param seed 當前時間 格式:YYYYMMDD HHMISS 例如:20130806102030
* @return 返回的查詢報告結果 格式為:業(yè)務id,手機號,狀態(tài);業(yè)務id,手機號,狀態(tài) 狀態(tài)1表示成功;0表示失敗
*/
public static String qryReport(String accName,String accPwd){
StringBuffer sb = new StringBuffer("http://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 當前時間 格式:YYYYMMDD HHMISS 例如:20130806102030
* @return 返回的上行短信信息格式為:簽名$$$$上行手機號$$$$上行內容$$$$上行時間####簽名$$$$上行手機號$$$$上行內容$$$$上行時間
*/
public static String receiveSms(String accName,String accPwd){
StringBuffer sb = new StringBuffer("http://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;
}
在線技術支持