分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

CloseableHttpClient post调用示例

发布时间:2023-09-06 02:36责任编辑:傅花花关键词:暂无标签

做个记录

 ???public ResultDto pddInvoiceDetailUpload(String platformCode,String customerCode,Map invocieMap) { ???ResultDto returnDto = new ResultDto(true); ???AppConfigService appConfigService = new AppConfigServiceImpl(); ???//接口配置 ???ResultDto appConfigDto = appConfigService.getAppConfig(platformCode,customerCode); ???if(appConfigDto.isSuccess() == false){ ???????returnDto = appConfigDto; ???????return returnDto; ???} ???//调用拼多多接口,SDK要求Java版本1.7以上,他大爷的... ???CloseableHttpClient httpclient = null; ???CloseableHttpResponse response = null; ???StringBuilder stringBuilder = new StringBuilder(); ???try{ ???????//应用级别参数 ???????AppConfigDto appConfig = (AppConfigDto)appConfigDto.getData(); ???????String url = appConfig.getAppUrl(); ???????String clientId = appConfig.getAppKey(); ???????String clientSecret = appConfig.getAppSecret(); ???????String accessToken = appConfig.getAccessToken(); ???????stringBuilder.append("\r\n"+new Date()+"appConfig:"+clientId+"--"+clientSecret+"--"+accessToken); ???????SystemLogSwitch.println("appConfig:"+clientId+"--"+clientSecret+"--"+accessToken); ???????//回传之前调用审核操作 ???????ResultDto updateDto = pddInvoiceApplicationUpdate(appConfig,invocieMap.get("application_id").toString(),invocieMap.get("order_sn").toString(),"2",""); ???????if(updateDto.isSuccess()==false){ ???????????returnDto.setSuccess(false); ???????????returnDto.setMessage(updateDto.getMessage()); ???????????return returnDto; ???????} ???????httpclient = HttpClientBuilder.create().build(); ???????HttpPost httpPost = new HttpPost(url); ???????//系统参数 ???????Map<String,String> map = new TreeMap<String,String>(); ???????map.put("type","pdd.invoice.detail.upload"); ???????map.put("client_id",clientId); ???????map.put("access_token",accessToken); ???????map.put("timestamp",String.valueOf(System.currentTimeMillis())); ???????//应用参数 ???????Iterator<Map.Entry<String,String>> it = invocieMap.entrySet().iterator(); ???????while(it.hasNext()){ ???????????Map.Entry<String, String> entry = it.next(); ???????????map.put(entry.getKey(),entry.getValue().toString()); ???????} ???????//生成签名 ???????String sign = SignUtils.sign(map,clientSecret); ???????map.put("sign",sign); ???????List<NameValuePair> params = new ArrayList<NameValuePair>(); ???????Iterator<Map.Entry<String,String>> iterator = map.entrySet().iterator(); ???????while(iterator.hasNext()){ ???????????Map.Entry<String, String> entry = iterator.next(); ???????????stringBuilder.append("\r\nKey = " + entry.getKey() + ", Value = " + entry.getValue()); ???????????SystemLogSwitch.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); ???????????params.add(new BasicNameValuePair(entry.getKey(), entry.getValue().toString())); ???????} ???????httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); ???????String result = ""; ???????response = (CloseableHttpResponse) httpclient.execute(httpPost); ???????if (response != null) { ???????????StatusLine status = response.getStatusLine(); ???????????int code = status.getStatusCode(); ???????????if (code != 200) { ???????????????returnDto.setSuccess(false); ???????????????returnDto.setMessage("http response code is " + code + "|reason:" + status.getReasonPhrase() + "|url:" + url); ???????????????return returnDto; ???????????} ???????????HttpEntity entity = response.getEntity(); ???????????if (entity == null) { ???????????????returnDto.setSuccess(false); ???????????????returnDto.setMessage("http response entity is null|url:" + url); ???????????????return returnDto; ???????????} ???????????result = EntityUtils.toString(response.getEntity(), ?HTTP.UTF_8); ???????}else{ ???????????returnDto.setSuccess(false); ???????????returnDto.setMessage("http response is null|url:" + url); ???????????return returnDto; ???????} ???????stringBuilder.append("\r\nresult--"+result); ???????SystemLogSwitch.println("result--"+result); ???????this.writeMessage(logPatch,"发票信息回传",stringBuilder.toString()); ???????//解析返回结果 ???????PddInvoiceDetailUploadResponseDto responseDto = JSON.parseObject(result,PddInvoiceDetailUploadResponseDto.class); ???????if(responseDto.getErrorResponse()!=null){ ???????????returnDto.setSuccess(false); ???????????returnDto.setMessage(responseDto.getErrorResponse().getErrorMsg()); ???????????return returnDto; ???????}else{ ???????????returnDto.setData(responseDto.getInvoiceDetailUploadResponse().getSerialNno()); ???????} ???}catch (Exception ex){ ???????ex.printStackTrace(); ???????returnDto.setSuccess(false); ???????returnDto.setMessage(ex.getMessage()); ???}finally { ???????// 关闭连接,释放资源 ???????try {if(httpclient!=null) httpclient.close();} catch (Exception e) {} ???????try {if(response!=null) response.close();} catch (Exception e) {} ???} ???return returnDto;}

CloseableHttpClient post调用示例

原文地址:https://www.cnblogs.com/childofheaven/p/10610289.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved