接口文档
代码示例
import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.*; import java.util.HashMap; import java.util.Map; /** * 用来格式化seed参数 */ private static final String dateFormatStr="yyyyMMddHHmmss"; public static void main(String[] args) { //输出发送结果 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")); } /** * 短信发送 * * @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.hndlsw.net/sdk/send"; params.put("aimcodes",aimcodes); params.put("dataType","json"); String res = post(url,params,"www.hndlsw.net",80,"UTF-8"); return res; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 获取连接 * @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; } /** * 发送短信 * @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请求,参数要放在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 原始密码 * @return 服务端返回的结果 ok:业务id 或者 错误代码 */ public static String qryBalance(String accName,String accPwd){ StringBuffer sb = new StringBuffer("https://www.hndlsw.net/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; } /** * 查询回执报告 * @param accName 用户名 * @param accPwd 原始密码 * @return 返回的查询报告结果 格式为:业务id,手机号,状态;业务id,手机号,状态 状态1表示成功;0表示失败 */ public static String qryReport(String accName,String accPwd){ StringBuffer sb = new StringBuffer("https://www.hndlsw.net/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("https://www.hndlsw.net/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参数
*/
private static final String dateFormatStr="yyyyMMddHHmmss";
public static void main(String[] args) {
//输出发送结果2222222
Map params = new HashMap<>();
params.put("accName",账号);
params.put("accPwd",MD5.getMd5String(密码));
params.put("content","内容【签名】");
String url = "http://www.hndlsw.net/sdk/send";
params.put("aimcodes",号码);
params.put("dataType","json");
String str = post(url,params,"www.hndlsw.net",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请求,参数要放在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:业务id 或者 错误代码
*/
public static String qryBalance(String accName,String accPwd){
StringBuffer sb = new StringBuffer("//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 返回的查询报告结果 格式为:业务id,手机号,状态;业务id,手机号,状态 状态1表示成功;0表示失败
*/
public static String qryReport(String accName,String accPwd){
StringBuffer sb = new StringBuffer("//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("//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;
}
在线技术支持