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.*; import java.util.Iterator; /** * Created by zhangqingxin Date : 16/11/6 Time : 10:41 *

* 参考一(HttpClient):http://mvnrepository.com/artifact/commons-httpclient/commons- * httpclient/3.1 * 参考一(json-lib):http://mvnrepository.com/artifact/net.sf.json-lib/json-lib/2.4 */ public class QueryDemo_Test { /** * 测试地址 */ private static final String URL = "http://etc.jkcredit.com:9999/api/rest"; //private static final String URL = "http://110.88.150.74:80/credit?api=credit.sec.data_test"; //private static final String URL = "http://110.88.150.74/credit?api=credit.sec.data"; //private static final String URL = "http://123.57.186.204/gateway?api=credit.sec.data_test"; //private static final String URL = "http://123.57.186.204/gateway?api=credit.sec.data"; // private static final String URL = "http://www1.h11.site/gateway?api=credit.sec.data"; // private static final String URL = "http://110.88.150.68:8000/gateway?api=credit.sec.data"; //private static final String URL = "http://60.205.114.163:8000/gateway?api=credit.sec.data"; //private static final String URL = " http://45.126.120.88/gateway?api=credit.sec.data"; //private static final String URL = "http://119.18.195.163/gateway?api=credit.sec.data"; /** * 分配的appKey */ //private static final String appKey = "junxin_test"; private static final String appKey = "jkxy"; //private static final String appKey = "ccx"; /** * 方法入口 * * @param args */ public static void main(String args[]) throws Exception { QueryDemo_Test demo = new QueryDemo_Test(); demo.runMainService(); } /** * 调用主接口 */ public void runMainService() { try { /** * 实名demo */ JSONObject paramJsonObj = initParamJsonObj_Realname(); String ret = postClient(URL, paramJsonObj); System.out.println(ret); } catch (Exception e) { e.printStackTrace(); } } /** * 整合参数(实名认证) * * @return */ public JSONObject initParamJsonObj_Realname() { /** * 基本参数 */ JSONObject paramJsonObj = new JSONObject(); paramJsonObj.put("api", "RED_INK_INVOICE_QUERY");//CTCC_3RD_DETAIL_V11//CTCC_STATUS_CHECK_V11//CUCC_STATUS_CHECK_V11//CMCC_3RD_DETAIL_V15//CMCC_3RD_V2//CTCC_3RD_DETAIL_V11// //paramJsonObj.put("api", "MSISDNMD5TOIMEI");//MOBILE_CHECK_V1//CMCC_3RD_VERIFY_V4//CTCC_CHECK_V1 paramJsonObj.put("appKey", appKey); paramJsonObj.put("appSecret", "7697CE9BB9D5A856CFDDE738320AD34EA53E483C"); //"84C1CE24EDF361F28072E313BD87EAB24CC727CF"); /** * 业务参数 */ JSONObject dataJson = initMainServiceParamJsonObj_Realname(); paramJsonObj.put("data", dataJson); return paramJsonObj; } /* * 初始化业务参数(实名认证) * * 姓名,身份证,手机号 * * @return */ public JSONObject initMainServiceParamJsonObj_Realname() { /** * 具体业务参数放在data中 */ JSONObject dataJson = new JSONObject(); /* dataJson.put("name", "王同"); dataJson.put("id_number","371081198911276112"); dataJson.put("mobile","15562139518");*/ dataJson.put("taxplayerCode", "91149900MA0LBCKM6F"); dataJson.put("month", "2022-04"); dataJson.put("pageNo", 4); dataJson.put("pageSize",10); //没有就默认1000 /* List list = new ArrayList<>(); list.add("13752639577"); dataJson.put("msisdnmd5list",list);*/ 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 = (String) 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; } /** * 流转字符串 * * @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(); } }