代码示例

代码下载java代码示例  在线技术支持

	
	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.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;
	}