接口文档
代码示例
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 { Map
params = new HashMap<>(); params.put("accName", accName); params.put("accPwd", MD5.getMd5String(accPwd)); params.put("content", URLEncoder.encode(content,"UTF-8")); String url = "http://www.lx598.com/sdk/send"; params.put("aimcodes",aimcodes); params.put("dataType","json"); String res = post(url,params,"www.lx598.com",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.lx598.com/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.lx598.com/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.lx598.com/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 Mapparams = new HashMap<>(); params.put("accName",账号); params.put("accPwd",MD5.getMd5String(密码)); params.put("content","内容【签名】"); String url = "http://www.lx598.com/sdk/send"; params.put("aimcodes",号码); params.put("dataType","json"); String str = post(url,params,"www.lx598.com",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; }