企查查接口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// 查看我的秘钥 我的Keyprivate 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 settingHttpHead 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字符串转换为JSONObjectJSONObject 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);/*//idstr1 = (String) arrayObject.get("Id");sbBuilder.append("Id:"+str1);//官网系统IDstr2 = (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) {//存放股东标签的数组JSONArrayJSONArray 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>股东标签数组TagsListarrayObjectArry =  (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 Codestatic 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 Codeprotected 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;}// 解析JSONprotected 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 configprivate 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);}
}

企查查接口full的实现`相关推荐

  1. 基于SpringBoot调用百度ocr以及企查查接口实现对营业执照信息的提取并识别真伪

    基于SpringBoot调用百度ocr以及企查查接口实现对营业执照信息的提取并识别真伪 1.application.yml 2.Controller层接口 3.相关工具类 3.1 DateUtils ...

  2. 企查查接口php版本~

    对接企业三要素验证 税务登记号核验 对接企业三要素验证 接口地址: http://api.qichacha.com/ECIMatch/CompanyVerify 请求头: ps:这里的key和secr ...

  3. python 调用企查查接口平台

    一.需求: 通过内部系统导出企业信息数据后,筛选状态为"正常"的企业数据.然后拿筛选后的企业去查询该企业的工商数据. 开始是在国家企业信息公示系统中查询,由于查询数据量过大,后改用 ...

  4. Java 查询企业基本信息接口实现(企查查)

    因项目需要,系统中需要添加根据企业名称或统一信用代码查询企业信息的功能,所以整合了企查查的查询接口 接口文档地址 Java请求示例: /*** 版权申明: 苏州朗动科技有限公司<br>* ...

  5. IDea中maven项目实现对接企查查、启信宝案例

    1.导入依赖,本文采用httpclient.fastjson 第一步导入依赖: 创建一个maven项目这些就不说了... <dependencies><dependency>& ...

  6. scrapy抓企查查数据

    scrapy抓企查查数据,scrapy爬虫核心代码,可以直接拿来参考 注意点: 1.免费用户只能查看100条数据 2.vip收费用户只能查看5000条数据 建议各位有需求的小伙伴直接去企查查接口平台, ...

  7. 调用企查查上的接口,实现通过公司名称查询公司列表

    引入架包 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>htt ...

  8. [630]企查查api接口操作

    企查查api接口中心:http://openapi.qichacha.com/DataCenter 1.了解需求,申请接口. 想要通过企业的统一信用代码或者企业名称查询企业的注册地址,所以申请的企业工 ...

  9. 企查查api接口批量操作实战

    最近博主因为工作需要,需要对一些企业的工商信息进行验证,想来也只有企查查能够提供这样的服务.但是第一次使用企查查的api还是很呆萌的,不过经过对api文档的理解(这里就不吐槽企查查的技术支持了,完全是 ...

最新文章

  1. R语言之斐波那契数列
  2. 4.3.9 ICMP协议
  3. 计算机网络-TCP运输连接管理
  4. 【项目管理】人力资源管理
  5. 四十六、和我一起看看,国外的Python考试到底是怎么样(下篇)
  6. c 正则提取html,c – 正则表达式以获取HTML表格内容
  7. linux6.5安装oracle,linux [CentOS 6.5]下安装oracle
  8. poj2513Colored Sticks(无向图的欧拉回路)
  9. Java StreamTokenizer quoteChar()方法与示例
  10. 寄生虫php版,-PHP版SEO最新教材版排名DeDeCms寄生虫V90繁殖
  11. java 轻量数据库_DBTree是一个springboot2 + vue-element-template实现的轻量数据库表结构查看及管理工具...
  12. Pass4side CompTIA PDI+ Beta Exam PD1-001 DEMO 免费下载
  13. 【Spring】配置SpringBoot同时支持http和https访问
  14. python3 beautifulsoup_Python3中BeautifulSoup的使用方法
  15. C++基础::Stream(二)
  16. 百度Android在线语音识别SDK用法
  17. java ajax 返回乱码,解决使用$.ajax的时候得到返回乱码
  18. 最新消息2022年广西最新消防设施操作员模拟题库及答案
  19. loadrunner 注册破解
  20. Axure RP8 授权码亲测可用

热门文章

  1. 基于A*搜索算法迷宫游戏开发
  2. 在html中加入一个动态图,图片上加gif图片 图片某个角落贴个gif动态图,如何在静态图片上面加一张GIF动态图...
  3. ea测试软件,在EA测试过程中,如何获得99.9%的数据质量,提高EA测试的准确性?...
  4. 输出字符的 ASCII 码
  5. 理工生文言文的致谢——小木虫
  6. IP地址划分、组播地址、公有IP、私有IP
  7. git clone时出现的两种错误解决方法
  8. Linux学习路线及网络编程经典书籍
  9. php实现展现量cookie,[转载]展现量、点击量、点击率;访客数、访问次数、浏览量的区别与作用...
  10. 一个iOS程序员的BAT面试经验