package com.jkcredit.invoice.util; import net.sf.json.JSONObject; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Iterator; /** * @author mashengyi */ public class QueryDemoTest_end { /** * 测试地址 */ private static final String URL = "http://192.168.50.13:18081/api/rest"; /** * 分配的appKey */ private static final String APP_KEY = "data_test1"; /** * 分配的appSecret */ private static final String APP_SECRET = "C1C2693835F1D2371085C044B5D25E624876BF39"; static String filename = "/Users/mashengyi/Downloads/"; static String logname = "test.pdf"; File filePath = new File(filename + logname); /** * 方法入口 * * @param args */ public static void main(String[] args) throws Exception { QueryDemoTest_end demo = new QueryDemoTest_end(); demo.runMainService(); } /** * 流转字符串 * * @param is * @return */ public static String convertStreamToString(InputStream is) { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); StringBuilder builder = new StringBuilder(); String line = null; try { while ((line = reader.readLine()) != null) { builder.append(line + "\n"); } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return builder.toString(); } /** * 调用主接口 */ public void runMainService() { try { /** * 实名demo */ JSONObject paramJsonObj = initParamJsonObjRealname(); String ret = postClient(URL, paramJsonObj); System.out.println(ret); } catch (Exception e) { e.printStackTrace(); } } /** * 整合参数 * * @return */ public JSONObject initParamJsonObjRealname() { /** * 基本参数 */ JSONObject paramJsonObj = new JSONObject(); //CMCC_MOBILE_CHECK_V8//CMCC_3RD_V2//CMCC_3RD_DETAIL_V1// paramJsonObj.put("api", "WAY_BILL_END"); paramJsonObj.put("appKey", APP_KEY); paramJsonObj.put("appSecret", APP_SECRET); /** * 业务参数 */ JSONObject dataJson = initMainServiceParamJsonObjRealname(); paramJsonObj.put("data", dataJson); return paramJsonObj; } public JSONObject initMainServiceParamJsonObjRealname() { /** * 具体业务参数放在data中 */ JSONObject dataJson = new JSONObject(); dataJson.put("num", "Zy20240918100211001"); dataJson.put("realDestAddr", "北京海淀区周山路街道"); dataJson.put("endTime", "2024-12-16T09:18:22"); return dataJson; } /** * 实现http post请求 注意编码 UTF-8 * * @param url * @param paramObj * @return */ public String postClient(String url, JSONObject paramObj) { String str = ""; HttpClient client = null; PostMethod method = null; try { client = new HttpClient(); method = new PostMethod(url); method.setRequestHeader("Content-Type", "application/json;charset=utf-8"); NameValuePair[] param = new NameValuePair[paramObj.size()]; @SuppressWarnings("unchecked") Iterator keys = paramObj.keys(); int i = 0; while (keys.hasNext()) { String key = keys.next(); String value = paramObj.getString(key); param[i] = new NameValuePair(key, value); i++; } method.setRequestBody(param); client.executeMethod(method); str = convertStreamToString(method.getResponseBodyAsStream()); } catch (Exception e) { e.printStackTrace(); } finally { if (method != null) { method.releaseConnection(); } } return str; } }