企查查接口full的实现`

这篇博客详细介绍了如何在Java中实现企查查接口的调用,通过HttpClientUtil类的代码展示具体实现过程,适合初学者了解和学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

企查查接口full的实现

第一次写可能会有错误也可能不好,不喜勿喷

package net.atrunning.framework.qichacha;

import static java.lang.System.out;

import java.io.IOException;
import java.util.List;
import java.util.regex.Pattern;


import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.http.client.methods.HttpHead;
import org.json.JSONException;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import net.atrunning.framework.qichacha.entity.Qichacha;
import net.atrunning.framework.qichacha.full.entity.QichachaFull;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/**
 * 获取企查查平台接口中的数据
 * @author Administrator
 *
 */
public class QueryToQichachaFullUtil {
	// 请登录http://yjapi.com/DataCenter/MyData
	// 查看我的秘钥 我的Key
	private static final String appkey = "4ccb4a60ba9f46fb8d460565d1ad418c";
	private static final String seckey = "91C75AAA1F89D6E4435EE11F4B9246CD";

	public static QichachaFull Company(String reqInterNme,String keyWord) throws Exception {
		out.println("开始连接企查查接口平台!!");
		String status = "";
		// auth header setting
		HttpHead reqHeader = new HttpHead();
		String[] autherHeader = RandomAuthentHeader();
		reqHeader.setHeader("Token", autherHeader[0]);
		reqHeader.setHeader("Timespan", autherHeader[1]);
		final String reqUri = reqInterNme.concat("?key=").concat(appkey).concat("&").concat(keyWord);
		String tokenJson ="";

		tokenJson = HttpClientUtil.httpGet(reqUri, reqHeader.getAllHeaders());
		QichachaFull qichachaFull = new QichachaFull();
		status = FormartJson(tokenJson, "Status");
		if(!StringUtils.equals(status, "200")) {
			return null;
		}
		StringBuilder sbBuilder = new StringBuilder();
		//将从企查查接口获取到的json字符串转换为JSONObject
		JSONObject jObject = JSONObject.fromObject(tokenJson);
		//获得结果集(多层嵌套有JsonArray ,JsonObject, String)
		JSONObject resultJsonObject = (JSONObject) jObject.get("Result");
		//存放json数组中的数据
		JSONObject arrayObject = null;
		//提前准备用于存放JSONObject中的字符串
		String arrayObjectStr= "";

		out.println( "result:"+resultJsonObject.toString());
		//获得结果集中的行政许可信息
		JSONArray permissionInfoArry = (JSONArray) resultJsonObject.get("PermissionInfo");
		for(int i = 0 ; i<permissionInfoArry.size();i++) {
			arrayObject = (JSONObject) permissionInfoArry.get(i);
			//项目名称
			arrayObjectStr = parsejson(arrayObject, "Name");
			sbBuilder.append("项目名称:"+arrayObjectStr);
			//地域
			arrayObjectStr = parsejson(arrayObject, "Province");
			sbBuilder.append(",地域:"+arrayObjectStr);
			//决定日期
			arrayObjectStr = parsejson(arrayObject, "Liandate");
			sbBuilder.append(",决定日期:"+arrayObjectStr);
			//决定文书号
			arrayObjectStr = parsejson(arrayObject, "CaseNo");
			sbBuilder.append(",决定文书号:"+arrayObjectStr+";");
		}
		out.println("行政许可信息:"+sbBuilder.toString());
		qichachaFull.setQccPermissioninfo(sbBuilder.toString());
		sbBuilder.setLength(0);//清空sbBuilder到的内容下次使用
		//获得结果集中的行政处罚信息
		JSONArray penaltyArry = (JSONArray) resultJsonObject.get("Penalty");
		if(penaltyArry.size()>0) {
			for(int i = 0 ; i<penaltyArry.size();i++) {
				arrayObject = (JSONObject) penaltyArry.get(i);
				//行政处罚决定书文号
				arrayObjectStr = parsejson(arrayObject, "DocNo");
				sbBuilder.append("行政处罚决定书文号:"+arrayObjectStr);
				//违法行为类型
				arrayObjectStr = parsejson(arrayObject, "PenaltyType");
				sbBuilder.append(",违法行为类型:"+arrayObjectStr);
				//行政处罚决定机关名称
				arrayObjectStr = parsejson(arrayObject, "OfficeName");
				sbBuilder.append(",行政处罚决定机关名称:"+arrayObjectStr);
				//行政处罚内容
				arrayObjectStr = parsejson(arrayObject, "Content");
				sbBuilder.append(",行政处罚内容:"+arrayObjectStr);
				//作出行政处罚决定日期
				arrayObjectStr = parsejson(arrayObject, "PenaltyDate");
				sbBuilder.append(",行政处罚决定日期:"+arrayObjectStr);
				//作出行政公示日期
				arrayObjectStr = parsejson(arrayObject, "PublicDate");
				sbBuilder.append(",行政公示日期:"+arrayObjectStr);
				//备注
				String Remark = parsejson(arrayObject, "Remark");
				sbBuilder.append(",备注:"+Remark+";");
			}
			out.println("行政处罚:"+sbBuilder.toString());
			qichachaFull.setQccPenalty(sbBuilder.toString());
			sbBuilder.setLength(0);//清空
		}
		//获得结果集中的经营异常信息
		JSONArray exceptionsyArry = (JSONArray) resultJsonObject.get("Exceptions");
		if(exceptionsyArry.size()>0) {
			for (int i = 0; i < exceptionsyArry.size(); i++) {
				arrayObject = (JSONObject) penaltyArry.get(i);
				//列入经营异常名录原因
				arrayObjectStr =  parsejson(arrayObject, "AddReason");
				sbBuilder.append("列入经营异常名录原因:"+arrayObjectStr);
				//列入日期
				arrayObjectStr =  parsejson(arrayObject, "AddDate");
				sbBuilder.append(",列入日期:"+arrayObjectStr);
				//移出经营异常名录原因
				arrayObjectStr = parsejson(arrayObject, "RomoveReason"); 
				sbBuilder.append(",移出经营异常名录原因:"+arrayObjectStr);
				//移出日期
				arrayObjectStr = parsejson(arrayObject, "RemoveDate");
				sbBuilder.append(",移出日期:"+arrayObjectStr);
				//作出决定机关
				arrayObjectStr = parsejson(arrayObject, "DecisionOffice");
				sbBuilder.append(",决定机关:"+arrayObjectStr);
				//移除决定机关
				arrayObjectStr = parsejson(arrayObject, "RemoveDecisionOffice");
				sbBuilder.append(",移除决定机关:"+arrayObjectStr+";");
			}
			qichachaFull.setQccExceptions(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的失信信息
		JSONArray shiXinItemsArry = (JSONArray) resultJsonObject.get("ShiXinItems");
		if(shiXinItemsArry.size()>0) {
			for (int i = 0; i < shiXinItemsArry.size(); i++) {
				arrayObject = (JSONObject) shiXinItemsArry.get(i);
				//公司名
				arrayObjectStr = parsejson(arrayObject, "AddDate"); 
				sbBuilder.append("公司名:"+arrayObjectStr);
				//立案日期
				arrayObjectStr = parsejson(arrayObject, "Liandate"); 
				sbBuilder.append(",立案日期:"+arrayObjectStr);
				//立案文书号
				arrayObjectStr = parsejson(arrayObject, "Anno"); 
				sbBuilder.append(",立案文书号:"+arrayObjectStr);
				//组织机构代码
				arrayObjectStr = parsejson(arrayObject, "Orgno"); 
				sbBuilder.append(",组织机构代码:"+arrayObjectStr);
				//执行依据文号
				arrayObjectStr = parsejson(arrayObject, "Executeno");
				sbBuilder.append(",执行依据文号:"+arrayObjectStr);
				//发布时间
				arrayObjectStr = parsejson(arrayObject, "Publicdate");
				sbBuilder.append(",发布时间:"+arrayObjectStr);
				//被执行人的履行情况
				arrayObjectStr = parsejson(arrayObject, "Executestatus");
				sbBuilder.append(",被执行人的履行情况:"+arrayObjectStr);
				//行为备注
				arrayObjectStr = parsejson(arrayObject, "Actionremark");
				sbBuilder.append(",行为备注:"+arrayObjectStr);
				//执行法院
				arrayObjectStr = parsejson(arrayObject, "Executegov");
				sbBuilder.append(",执行法院:"+arrayObjectStr+";");
			}
			qichachaFull.setQccShixinitems(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的执行信息
		JSONArray zhiXingItemsArry = (JSONArray) resultJsonObject.get("ZhiXingItems");
		if(zhiXingItemsArry.size()>0) {
			for (int i = 0; i < zhiXingItemsArry.size(); i++) {
				arrayObject = (JSONObject) zhiXingItemsArry.get(i);
				/*//id
					str1 = (String) arrayObject.get("Id");
					sbBuilder.append("Id:"+str1);
					//官网系统ID
					str2 = (String) arrayObject.get("Sourceid");
					sbBuilder.append("Id:"+str2);*/
				//名称
				arrayObjectStr = parsejson(arrayObject, "Name");
				sbBuilder.append("名称:"+arrayObjectStr);
				//立案时间
				arrayObjectStr = parsejson(arrayObject, "Liandate");
				sbBuilder.append(",立案时间:"+arrayObjectStr);
				//立案号
				arrayObjectStr = parsejson(arrayObject, "Anno"); 
				sbBuilder.append(",立案号:"+arrayObjectStr);
				//执行法院
				arrayObjectStr = parsejson(arrayObject, "ExecuteGov"); 
				sbBuilder.append(",执行法院:"+arrayObjectStr);
				//标地
				arrayObjectStr = parsejson(arrayObject, "Biaodi"); 
				sbBuilder.append(",标地:"+arrayObjectStr);
				//状态
				arrayObjectStr = parsejson(arrayObject, "Status"); 
				sbBuilder.append(",状态:"+arrayObjectStr);
				//身份证号码/组织机构代码
				arrayObjectStr = parsejson(arrayObject, "PartyCardNum"); 
				sbBuilder.append(",身份证号码/组织机构代码:"+arrayObjectStr);
				//数据更新时间
				arrayObjectStr = parsejson(arrayObject, "Updatedate"); 
				sbBuilder.append(",数据更新时间:"+arrayObjectStr+";");
			}
			qichachaFull.setQccZhixingitems(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的动产抵押信息
		JSONArray mPledgeArry = (JSONArray) resultJsonObject.get("MPledge");
		if(mPledgeArry.size()>0) {
			for (int i = 0; i < mPledgeArry.size(); i++) {
				arrayObject = (JSONObject) mPledgeArry.get(i);
				//登记编号
				arrayObjectStr = parsejson(arrayObject, "RegisterNo"); 
				sbBuilder.append("登记编号:"+arrayObjectStr);
				//登记时间
				arrayObjectStr = parsejson(arrayObject, "RegisterDate");
				sbBuilder.append(",登记时间:"+arrayObjectStr);
				//公示时间
				arrayObjectStr = parsejson(arrayObject, "PublicDate"); ;
				sbBuilder.append(",公示时间:"+arrayObjectStr);
				//登记机关
				arrayObjectStr = parsejson(arrayObject, "RegisterOffice"); 
				sbBuilder.append(",登记机关:"+arrayObjectStr);
				//被担保债权数额
				arrayObjectStr = parsejson(arrayObject, "DebtSecuredAmount"); 
				sbBuilder.append(",被担保债权数额:"+arrayObjectStr);
				//状态
				arrayObjectStr = parsejson(arrayObject, "Status"); 
				sbBuilder.append(",状态:"+arrayObjectStr+";");

			}
			qichachaFull.setQccMpledge(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的清算信息
		if(!resultJsonObject.get("Liquidation").equals(null)) {
			arrayObject = (JSONObject) resultJsonObject.get("Liquidation");
			//清算组负责人
			arrayObjectStr = parsejson(arrayObject, "Leader"); 
			sbBuilder.append("清算组负责人:"+arrayObjectStr);
			//清算组成员
			arrayObjectStr = parsejson(arrayObject, "Member"); 
			sbBuilder.append(",清算组成员:"+arrayObjectStr+";");

			qichachaFull.setQccLiquidation(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的股权出质信息
		JSONArray pledgeArry = (JSONArray) resultJsonObject.get("Pledge");
		if(pledgeArry.size()>0) {
			for (int i = 0; i < pledgeArry.size(); i++) {
				arrayObject = (JSONObject) pledgeArry.get(i);
				//质权登记编号
				arrayObjectStr = parsejson(arrayObject, "RegistNo");
				sbBuilder.append("质权登记编号:"+arrayObjectStr);
				//出质人
				arrayObjectStr = parsejson(arrayObject, "Pledgor");
				sbBuilder.append(",出质人:"+arrayObjectStr);
				//出质人证照编号
				arrayObjectStr = parsejson(arrayObject, "PledgorNo"); 
				sbBuilder.append(",出质人证照编号:"+arrayObjectStr);
				//质权人
				arrayObjectStr = parsejson(arrayObject, "Pledgee");
				sbBuilder.append(",质权人:"+arrayObjectStr);
				//质权人证照编号
				arrayObjectStr = parsejson(arrayObject, "PledgeeNo");
				sbBuilder.append(",质权人证照编号:"+arrayObjectStr);
				//出质股权数额
				arrayObjectStr = parsejson(arrayObject, "PledgedAmount");
				sbBuilder.append(",出质股权数额:"+arrayObjectStr);
				//股权出质设立登记日期
				arrayObjectStr = parsejson(arrayObject, "RegDate");
				sbBuilder.append(",股权出质设立登记日期:"+arrayObjectStr);
				//公示时间
				arrayObjectStr = parsejson(arrayObject, "PublicDate");
				sbBuilder.append(",公示时间:"+arrayObjectStr);
				//出质状态
				arrayObjectStr = parsejson(arrayObject, "Status");
				sbBuilder.append(",出质状态:"+arrayObjectStr+";");
			}
			qichachaFull.setQccPledge(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的抽查检查信息
		JSONArray spotCheckArry = (JSONArray) resultJsonObject.get("SpotCheck");
		if(spotCheckArry.size()>0) {
			for (int i = 0; i < spotCheckArry.size(); i++) {
				arrayObject = (JSONObject) spotCheckArry.get(i);
				//登记编号
				arrayObjectStr = parsejson(arrayObject, "No"); 
				sbBuilder.append("登记编号:"+arrayObjectStr);
				//检查实施机关
				arrayObjectStr = parsejson(arrayObject, "ExecutiveOrg"); 
				sbBuilder.append(",检查实施机关:"+arrayObjectStr);
				//类型
				arrayObjectStr = parsejson(arrayObject, "Type"); 
				sbBuilder.append(",类型:"+arrayObjectStr);
				//日期
				arrayObjectStr = parsejson(arrayObject, "Date"); 
				sbBuilder.append(",日期:"+arrayObjectStr);
				//结果
				arrayObjectStr = parsejson(arrayObject, "Consequence"); 
				sbBuilder.append(",结果:"+arrayObjectStr);
				//备注
				arrayObjectStr = parsejson(arrayObject, "Remark");
				sbBuilder.append(",备注:"+arrayObjectStr);
			}
			qichachaFull.setQccSpotcheck(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的纳税信用等级信息
		JSONArray companyTaxCreditItemsArry = (JSONArray) resultJsonObject.get("CompanyTaxCreditItems");
		if(companyTaxCreditItemsArry.size()>0) {
			for (int i = 0; i < companyTaxCreditItemsArry.size(); i++) {
				arrayObject = (JSONObject) companyTaxCreditItemsArry.get(i);
				//纳税人识别号
				arrayObjectStr = parsejson(arrayObject, "No"); 
				sbBuilder.append("纳税人识别号:"+arrayObjectStr);
				//纳税人名称
				arrayObjectStr = parsejson(arrayObject, "Name"); 
				sbBuilder.append(",纳税人名称:"+arrayObjectStr);
				//评价年度
				arrayObjectStr = parsejson(arrayObject, "Year"); 
				sbBuilder.append(",评价年度:"+arrayObjectStr);
				//信用等级
				arrayObjectStr = parsejson(arrayObject, "Level"); 
				sbBuilder.append(",信用等级:"+arrayObjectStr+";");
			}
			qichachaFull.setQccCompanytaxcredititems(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的公司产品信息
		JSONArray companyProductsArry = (JSONArray) resultJsonObject.get("CompanyProducts");
		if(companyProductsArry.size()>0) {
			for (int i = 0; i < companyProductsArry.size(); i++) {
				arrayObject = (JSONObject) companyProductsArry.get(i);
				//产品名称
				arrayObjectStr = parsejson(arrayObject, "Name"); 
				sbBuilder.append("产品名称:"+arrayObjectStr);
				//产品领域
				arrayObjectStr = parsejson(arrayObject, "Domain"); 
				sbBuilder.append(",产品领域:"+arrayObjectStr);
				//产品标签
				arrayObjectStr = parsejson(arrayObject, "Tags"); 
				sbBuilder.append(",产品标签:"+arrayObjectStr);
				//产品描述
				arrayObjectStr = parsejson(arrayObject, "Description"); 
				sbBuilder.append(",产品描述:"+arrayObjectStr);
				//产品类型
				arrayObjectStr = parsejson(arrayObject, "Category"); 
				sbBuilder.append(",产品类型:"+arrayObjectStr);

			}
			qichachaFull.setQccCompanyproducts(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的行政许可信息
		JSONArray permissionEciInfoArry = (JSONArray) resultJsonObject.get("PermissionEciInfo");
		if(permissionEciInfoArry.size()>0) {
			for (int i = 0; i < permissionEciInfoArry.size(); i++) {
				arrayObject = (JSONObject) permissionEciInfoArry.get(i);
				//许可文件编号
				arrayObjectStr = parsejson(arrayObject, "LicensDocNo"); 
				sbBuilder.append("许可文件编号:"+arrayObjectStr);
				//许可文件名称
				arrayObjectStr = parsejson(arrayObject, "LicensDocName"); 
				sbBuilder.append(",许可文件名称:"+arrayObjectStr);
				//有效期自
				arrayObjectStr = parsejson(arrayObject, "ValidityFrom"); 
				sbBuilder.append(",有效期自:"+arrayObjectStr);
				//有效期至
				arrayObjectStr = parsejson(arrayObject, "ValidityTo"); 
				sbBuilder.append("至:"+arrayObjectStr);
				//许可机关
				arrayObjectStr = parsejson(arrayObject, "LicensOffice"); 
				sbBuilder.append(",许可机关:"+arrayObjectStr);
				//许可内容
				arrayObjectStr = parsejson(arrayObject, "LicensContent"); 
				sbBuilder.append(",许可内容:"+arrayObjectStr+";");

			}
			qichachaFull.setQccPermissioneciinfo(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的行政处罚信息
		JSONArray penaltyCreditChinaArry = (JSONArray) resultJsonObject.get("PenaltyCreditChina");
		if(penaltyCreditChinaArry.size()>0) {
			for (int i = 0; i < penaltyCreditChinaArry.size(); i++) {
				arrayObject = (JSONObject) penaltyCreditChinaArry.get(i);
				//String决定文书号
				arrayObjectStr = parsejson(arrayObject, "CaseNo"); 
				sbBuilder.append("决定文书号:"+arrayObjectStr);
				//String处罚名称
				arrayObjectStr = parsejson(arrayObject, "Name"); 
				sbBuilder.append(",处罚名称:"+arrayObjectStr);
				//String决定日期
				arrayObjectStr = parsejson(arrayObject, "Liandate"); 
				sbBuilder.append(",决定日期:"+arrayObjectStr);
				//String地域
				arrayObjectStr = parsejson(arrayObject, "Province"); 
				sbBuilder.append(",地域:"+arrayObjectStr);
				//String所属人
				arrayObjectStr = parsejson(arrayObject, "OwnerName"); 
				sbBuilder.append(",所属人:"+arrayObjectStr);
				//String处罚事由
				arrayObjectStr = parsejson(arrayObject, "CaseReason"); 
				sbBuilder.append(",处罚事由:"+arrayObjectStr+";");
			}
			qichachaFull.setQccPenaltycreditchina(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的投资人及出资信息
		JSONArray partnersArry = (JSONArray) resultJsonObject.get("Partners");
		if(partnersArry.size()>0) {
			//存放股东标签的数组JSONArray
			JSONArray arrayObjectArry = null;
			for (int i = 0; i < partnersArry.size(); i++) {
				arrayObject = (JSONObject) partnersArry.get(i);
				//String投资人
				arrayObjectStr = parsejson(arrayObject, "StockName"); 
				sbBuilder.append("投资人:"+arrayObjectStr);
				//String投资人类型
				arrayObjectStr = parsejson(arrayObject, "StockType"); 
				sbBuilder.append(",投资人类型:"+arrayObjectStr);
				//String出资比例
				arrayObjectStr = parsejson(arrayObject, "StockPercent"); 
				sbBuilder.append(",出资比例:"+arrayObjectStr);
				//String认缴出资额
				arrayObjectStr = parsejson(arrayObject, "ShouldCapi"); 
				sbBuilder.append(",认缴出资额:"+arrayObjectStr);
				//String认缴出资时间
				arrayObjectStr = parsejson(arrayObject, "ShoudDate"); 
				sbBuilder.append(",认缴出资时间:"+arrayObjectStr);
				//String认出资方式
				arrayObjectStr = parsejson(arrayObject, "InvestType"); 
				sbBuilder.append(",认缴出资方式:"+arrayObjectStr);
				//String实出资方式
				arrayObjectStr = parsejson(arrayObject, "InvestName"); 
				sbBuilder.append(",实出资方式:"+arrayObjectStr);
				//String实缴出资额
				arrayObjectStr = parsejson(arrayObject, "RealCapi"); 
				sbBuilder.append(",实缴出资额:"+arrayObjectStr);
				//String实缴时间
				arrayObjectStr = parsejson(arrayObject, "CapiDate"); 
				sbBuilder.append(",实缴时间:"+arrayObjectStr);
				//List<string>股东标签数组TagsList
				arrayObjectArry =  (JSONArray) arrayObject.get("TagsList");
				arrayObjectStr = arrayObjectArry.toString().replaceAll("\"", "");
				sbBuilder.append(",股东标签:"+arrayObjectStr.toString());
				//String最终受益股份
				arrayObjectStr = parsejson(arrayObject, "FinalBenefitPercent"); 
				sbBuilder.append(",最终受益股份:"+arrayObjectStr+";");

			}
			out.println("投资人及出资信息:"+sbBuilder.toString());
			qichachaFull.setQccPartners(sbBuilder.toString());
			sbBuilder.setLength(0);
		}

		//获得结果集中的主要人员信息
		JSONArray employeesArry = (JSONArray) resultJsonObject.get("Employees");
		if(employeesArry.size()>0) {
			for (int i = 0; i < employeesArry.size(); i++) {
				arrayObject = (JSONObject) employeesArry.get(i);
				// 姓名:"Name"
				arrayObjectStr = parsejson(arrayObject, "Name"); 
				sbBuilder.append("姓名:"+arrayObjectStr);
				//职位:"Job"
				arrayObjectStr = parsejson(arrayObject, "Job"); 
				sbBuilder.append(",职位:"+arrayObjectStr+";");
			}
			qichachaFull.setQccEmployees(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的分支机构信息
		JSONArray branchesArry = (JSONArray) resultJsonObject.get("Branches");
		if(branchesArry.size()>0) {
			for (int i = 0; i < branchesArry.size(); i++) {
				arrayObject = (JSONObject) branchesArry.get(i);
				//String名称
				arrayObjectStr = parsejson(arrayObject, "Name"); 
				sbBuilder.append("名称:"+arrayObjectStr);
				//String注册号
				arrayObjectStr = parsejson(arrayObject, "RegNo"); 
				sbBuilder.append(",注册号:"+arrayObjectStr);
				//String登记机关
				arrayObjectStr = parsejson(arrayObject, "BelongOrg"); 
				sbBuilder.append(",登记机关:"+arrayObjectStr);
				//String社会统一信用代码( 保留字段)
				arrayObjectStr = parsejson(arrayObject, "CreditCode"); 
				sbBuilder.append(",社会统一信用代码:"+arrayObjectStr);
				//String法人姓名(保留字段)
				arrayObjectStr = parsejson(arrayObject, "OperName"); 
				sbBuilder.append(",法人姓名:"+arrayObjectStr+";");

			}
			qichachaFull.setQccBranches(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的变更信息信息
		JSONArray changeRecordsArry = (JSONArray) resultJsonObject.get("ChangeRecords");
		if(changeRecordsArry.size()>0) {
			for (int i = 0; i < changeRecordsArry.size(); i++) {
				arrayObject = (JSONObject) changeRecordsArry.get(i);
				//String变更事项
				arrayObjectStr = parsejson(arrayObject, "ProjectName"); 
				sbBuilder.append("变更事项:"+arrayObjectStr);
				//String变更前内容
				arrayObjectStr = parsejson(arrayObject, "BeforeContent"); 
				sbBuilder.append(",变更前内容:"+arrayObjectStr);
				//String变更后内容
				arrayObjectStr = parsejson(arrayObject, "AfterContent"); 
				sbBuilder.append(",变更后内容:"+arrayObjectStr);
				//String变更日期
				arrayObjectStr = parsejson(arrayObject, "ChangeDate"); 
				sbBuilder.append(",变更日期:"+arrayObjectStr+";");

			}
			qichachaFull.setQccChangerecords(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的联系信息
		if(!resultJsonObject.get("ContactInfo").equals(null)) {
			//获取	联系信息
			arrayObject = (JSONObject) resultJsonObject.get("ContactInfo");
			//获取Object网址
			JSONArray website = (JSONArray) arrayObject.get("WebSite");
			for(int i = 0 ; i < website.size(); i++) {
				JSONObject websiteObject = (JSONObject) website.get(i);
				//Name	String网址名称
				arrayObjectStr = parsejson(websiteObject, "Name");
				sbBuilder.append("网址名称:"+arrayObjectStr);
				//Url	String网址地址
				arrayObjectStr = parsejson(websiteObject, "Url");
				sbBuilder.append(",网址地址:"+arrayObjectStr);
			}
			//String联系电话
			arrayObjectStr = parsejson(arrayObject, "PhoneNumber");
			sbBuilder.append(",联系电话:"+arrayObjectStr);
			//String邮箱
			arrayObjectStr = parsejson(arrayObject, "Email");
			sbBuilder.append(",邮箱:"+arrayObjectStr+";");
			qichachaFull.setQccContactinfo(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的行业分类信息
		if(!resultJsonObject.get("Industry").equals(null)) {
			JSONObject industryJOb = (JSONObject) resultJsonObject.get("Industry");
			//获取industryJOb中的 Industry String行业门类描述
			arrayObjectStr = parsejson(industryJOb, "Industry");
			sbBuilder.append("行业门类:"+arrayObjectStr);
			qichachaFull.setQccIndustry(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的区域信息
		if(!resultJsonObject.get("Area").equals(null)) {
			JSONObject areaJOb = (JSONObject) resultJsonObject.get("Area");
			//String省份
			arrayObjectStr = parsejson(areaJOb, "Province");
			sbBuilder.append(arrayObjectStr);
			//String城市
			arrayObjectStr = parsejson(areaJOb, "City");
			sbBuilder.append(arrayObjectStr);
			//String区域
			arrayObjectStr = parsejson(areaJOb, "County");
			sbBuilder.append(arrayObjectStr);
			qichachaFull.setQccArea(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的参保人数信息
		if(!resultJsonObject.get("InsuredCount").equals(null)) {
			String insuredCountStr = (String) resultJsonObject.get("InsuredCount");
			qichachaFull.setQccInsuredcount(insuredCountStr);
		}
		//获得结果集中的英文名信息
		if(!resultJsonObject.get("EnglishName").equals(null)) {
			String englishNameStr = (String) resultJsonObject.get("EnglishName");
			qichachaFull.setQccEnglishname(englishNameStr);
		}
		//获得结果集中的人员规模信息
		if(!resultJsonObject.get("PersonScope").equals(null)) {
			String personScopeStr = (String) resultJsonObject.get("PersonScope");
			qichachaFull.setQccPersonscope(personScopeStr);
		}
		//获得结果集中的标签列表信息
		JSONArray tagListArry = (JSONArray) resultJsonObject.get("TagList");
		if(tagListArry.size()>0) {
			for (int i = 0; i < tagListArry.size(); i++) {
				arrayObject = (JSONObject) tagListArry.get(i);
				//类型
				arrayObjectStr = parsejson(arrayObject, "Name");
				sbBuilder.append(arrayObjectStr+",");
			}
			qichachaFull.setQccTaglist(sbBuilder.toString());
			sbBuilder.setLength(0);
		}
		//获得结果集中的最新企业年报中的联系方式信息
		JSONArray aRContactListArry = (JSONArray) resultJsonObject.get("ARContactList");
		if(aRContactListArry.size()>0) {
			for (int i = 0; i < aRContactListArry.size(); i++) {
				arrayObject = (JSONObject) aRContactListArry.get(i);
				//String企业联系电话
				arrayObjectStr = parsejson(arrayObject, "ContactNo");
				sbBuilder.append("企业联系电话:"+arrayObjectStr);
				//String电子邮箱
				arrayObjectStr = parsejson(arrayObject, "EmailAddress");
				sbBuilder.append(",电子邮箱:"+arrayObjectStr);
				//String企业通讯地址
				arrayObjectStr = parsejson(arrayObject, "Address");
				sbBuilder.append(",企业通讯地址:"+arrayObjectStr+";");
			}
			qichachaFull.setQccArcontactlist(sbBuilder.toString());
			sbBuilder.setLength(0);
		}

		String keyNoStr = parsejson(resultJsonObject, "KeyNo");
		qichachaFull.setQccKeyno(keyNoStr);

		String nameStr = parsejson(resultJsonObject, "Name");
		qichachaFull.setQccName(nameStr);

		String noStr = parsejson(resultJsonObject, "No");
		qichachaFull.setQccNo(noStr);

		String belongOrgStr = parsejson(resultJsonObject, "BelongOrg");
		qichachaFull.setQccBelongorg(belongOrgStr);

		String operNameStr = parsejson(resultJsonObject, "OperName");
		qichachaFull.setQccOpername(operNameStr);

		String startDateStr = parsejson(resultJsonObject, "StartDate") ;
		qichachaFull.setQccStartdate(startDateStr);

		String endDateStr = parsejson(resultJsonObject, "EndDate") ;
		qichachaFull.setQccEnddate(endDateStr);

		String statusStr = parsejson(resultJsonObject, "Status") ;
		qichachaFull.setQccStatus(statusStr);

		String provinceStr = parsejson(resultJsonObject, "Province") ;
		qichachaFull.setQccProvince(provinceStr);

		String updatedDateStr = parsejson(resultJsonObject, "UpdatedDate") ;
		qichachaFull.setQccUpdateddate(updatedDateStr);

		String creditCodeStr = parsejson(resultJsonObject, "CreditCode");
		qichachaFull.setQccCreditcode(creditCodeStr);

		String registCapiStr = parsejson(resultJsonObject, "RegistCapi");
		qichachaFull.setQccRegistcapi(registCapiStr);

		String econKindStr = parsejson(resultJsonObject, "EconKind");
		qichachaFull.setQccEconkind(econKindStr);

		String addressStr = parsejson(resultJsonObject, "Address");
		qichachaFull.setQccAddress(addressStr);

		String scopeStr = parsejson(resultJsonObject, "Scope");
		qichachaFull.setQccScope(scopeStr);

		String termStartStr = parsejson(resultJsonObject, "TermStart");
		qichachaFull.setQccTeamstart(termStartStr);

		String checkDateStr = parsejson(resultJsonObject, "CheckDate");
		qichachaFull.setQccCheckdate(checkDateStr);

		String orgNoStr = parsejson(resultJsonObject, "OrgNo") ;
		qichachaFull.setQccOrgno(orgNoStr);
		String isOnStockStr = parsejson(resultJsonObject, "IsOnStock");
		qichachaFull.setQccIsonstock(isOnStockStr);

		String stockNumberStr = parsejson(resultJsonObject, "StockNumber");
		qichachaFull.setQccStocknumber(stockNumberStr);

		String stockTypeStr = parsejson(resultJsonObject, "StockType");
		qichachaFull.setQccStocktype(stockTypeStr);

		JSONArray originalNameArry = (JSONArray) resultJsonObject.get("OriginalName");
		if(originalNameArry.size()>0) {
			for (int i = 0; i < originalNameArry.size(); i++) {
				arrayObject = (JSONObject) originalNameArry.get(i);
				//String名称
				arrayObjectStr = parsejson(arrayObject, "Name");
				sbBuilder.append("名称:"+arrayObjectStr);
				//String变更日期
				arrayObjectStr = parsejson(arrayObject, "ChangeDate");
				sbBuilder.append(",变更日期:"+arrayObjectStr+";");
			}
			qichachaFull.setQccOriginalname(sbBuilder.toString());
			sbBuilder.setLength(0);
		}

		String imageUrlStr = parsejson(resultJsonObject, "ImageUrl");
		qichachaFull.setQccImageurl(imageUrlStr);

		String entTypeStr = parsejson(resultJsonObject, "EntType");
		qichachaFull.setQccEnttype(entTypeStr);
		String recCapStr = parsejson(resultJsonObject, "RecCap");
		qichachaFull.setQccReccap(recCapStr);
		out.println( "qichachaFull:"+qichachaFull.toString());
		out.println(String.format("==========================>Status:{%s}", status));
		return qichachaFull;
	}
	/**
	 * 解析JSONObject数据中可能存在的null 返回空字符串
	 * @param jsonObject 
	 * @param key 键
	 * @return String类型字符串
	 */
	static String parsejson(JSONObject jsonObject,String key) {
		if(jsonObject.get(key).equals(null)) {
			return "";
		}else {
			return (String) jsonObject.get(key);
		}

	}
	// 获取返回码 Res Code
	static class HttpCodeRegex {
		private static final String ABNORMAL_REGIX = "(101)|(102)";
		private static final Pattern pattern = Pattern.compile(ABNORMAL_REGIX);
		protected static boolean isAbnornalRequest(final String status) {
			return pattern.matcher(status).matches();
		}
	}

	// 获取Auth Code
	protected static final String[] RandomAuthentHeader() {
		String timeSpan = String.valueOf(System.currentTimeMillis() / 1000);
		String[] authentHeaders = new String[] { DigestUtils.md5Hex(appkey.concat(timeSpan).concat(seckey)).toUpperCase(), timeSpan };
		return authentHeaders;
	}

	// 解析JSON
	protected static String FormartJson(String jsonString, String key) throws JSONException {
		JSONObject jObject = JSONObject.fromObject(jsonString);
		return (String) jObject.get(key);
	}

	// pretty print 返回值
	protected static void PrettyPrintJson(String jsonString) throws JSONException {
		try {
			ObjectMapper mapper = new ObjectMapper(); 
			Object obj = mapper.readValue(jsonString, Object.class);
			String indented = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
			out.println(indented);
		} catch (JsonProcessingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

HttpClientUtil 类中的代码

package net.atrunning.framework.qichacha;

import static java.lang.System.out;

import java.io.IOException;
import java.net.URI;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

/**
 * 连接企查查平台接口
 * @author Administrator
 *
 */
public class HttpClientUtil {
 
	// get 请求
		public static String httpGet(String url, Header[] headers) throws Exception {
			HttpUriRequest uriRequest = new HttpGet(url);
			if (null != headers)
				uriRequest.setHeaders(headers);
			CloseableHttpClient httpClient = null;
			try {
				httpClient = declareHttpClientSSL(url);
				CloseableHttpResponse httpresponse = httpClient.execute(uriRequest);
				HttpEntity httpEntity = httpresponse.getEntity();
				String result = EntityUtils.toString(httpEntity, REQ_ENCODEING_UTF8);
				return result;
			} catch (ClientProtocolException e) {
				out.println(String.format("http请求失败,uri{%s},exception{%s}", new Object[] { url, e }));
			} catch (IOException e) {
				out.println(String.format("IO Exception,uri{%s},exception{%s}", new Object[] { url, e }));
			} finally {
				if (null != httpClient)
					httpClient.close();
			}
			return null;
		}

		// post 请求
		public static String httpPost(String url, String params) throws Exception {
			HttpPost post = new HttpPost(url);
			post.addHeader("Content-Type", "application/json;charset=" + REQ_ENCODEING_UTF8);
			// 设置传输编码格式
			StringEntity stringEntity = new StringEntity(params, REQ_ENCODEING_UTF8);
			stringEntity.setContentEncoding(REQ_ENCODEING_UTF8);
			post.setEntity(stringEntity);
			HttpResponse httpresponse = null;
			CloseableHttpClient httpClient = null;
			try {
				httpClient = declareHttpClientSSL(url);
				httpresponse = httpClient.execute(post);
				HttpEntity httpEntity = httpresponse.getEntity();
				String result = EntityUtils.toString(httpEntity, REQ_ENCODEING_UTF8);
				return result;
			} catch (ClientProtocolException e) {
				out.println(String.format("http请求失败,uri{%s},exception{%s}", new Object[] { url, e }));
			} catch (IOException e) {
				out.println(String.format("IO Exception,uri{%s},exception{%s}", new Object[] { url, e }));
			} finally {
				if (null != httpClient)
					httpClient.close();
			}
			return null;
		}

		private static CloseableHttpClient declareHttpClientSSL(String url) {
			if (url.startsWith("https://")) {
				return sslClient();
			} else {
				return HttpClientBuilder.create().setConnectionManager(httpClientConnectionManager).build();
			}
		}

		/**
		 * 设置SSL请求处理
		 * 
		 * @param httpClient
		 */
		private static CloseableHttpClient sslClient() {
			try {
				SSLContext ctx = SSLContext.getInstance("TLS");
				X509TrustManager tm = new X509TrustManager() {
					public X509Certificate[] getAcceptedIssuers() {
						return null;
					}

					public void checkClientTrusted(X509Certificate[] xcs, String str) {
					}

					public void checkServerTrusted(X509Certificate[] xcs, String str) {
					}
				};
				ctx.init(null, new TrustManager[] { tm }, null);
				SSLConnectionSocketFactory sslConnectionSocketFactory = SSLConnectionSocketFactory.getSocketFactory();
				return HttpClients.custom().setSSLSocketFactory(sslConnectionSocketFactory).build();
			} catch (NoSuchAlgorithmException e) {
				throw new RuntimeException(e);
			} catch (KeyManagementException e) {
				throw new RuntimeException(e);
			}
		}

		// this is config
		private static final String REQ_ENCODEING_UTF8 = "utf-8";
		private static PoolingHttpClientConnectionManager httpClientConnectionManager;

		public HttpClientUtil() {
			httpClientConnectionManager = new PoolingHttpClientConnectionManager();
			httpClientConnectionManager.setMaxTotal(100);
			httpClientConnectionManager.setDefaultMaxPerRoute(20);
		}

		// get 请求
		public static String httpGet(String url) throws Exception {
			return httpGet(url, null);
		}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值