httpclient提交json参数
Posted Programming is an art
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了httpclient提交json参数相关的知识,希望对你有一定的参考价值。
1 private void httpReqUrl(List<HongGuTan> list, String url) 2 throws ClientProtocolException, IOException { 3 4 logger.info("httpclient执行新闻资讯接口开始。"); 5 JSONObject json = new JSONObject(); 6 DefaultHttpClient httpClient = new DefaultHttpClient(); 7 8 HttpPost method = new HttpPost(url); 9 10 // 设置代理 11 if (IS_NEED_PROXY.equals("1")) { 12 HttpHost proxy = new HttpHost("192.168.13.19", 7777); 13 httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, proxy); 14 } 15 16 if (list != null && list.size() > 0) { 17 logger.info("循环处理数据列表大小list.size={}", list != null ? list.size() : 0); 18 19 // 开始循环组装post请求参数,使用倒序进行处理 20 for (int i = list.size() - 1; i >= 0; i--) { 21 HongGuTan bean = list.get(i); 22 if (bean == null) { 23 continue; 24 } 25 // 验证参数 26 Object[] objs = { bean.getTitle(), bean.getContent(), 27 bean.getSourceUrl(), bean.getSourceFrom(), 28 bean.getImgUrls() }; 29 if (!validateData(objs)) { 30 logger.info("参数验证有误。"); 31 continue; 32 } 33 // 接收参数json列表 34 JSONObject jsonParam = new JSONObject(); 35 jsonParam.put("chnl_id", "11");// 红谷滩新闻资讯,channelId 77 36 jsonParam.put("title", bean.getTitle());// 标题 37 jsonParam.put("content", bean.getContent());// 资讯内容 38 jsonParam.put("source_url", bean.getSourceUrl());// 资讯源地址 39 jsonParam.put("source_name", bean.getSourceFrom());// 来源网站名称 40 jsonParam.put("img_urls", bean.getImgUrls());// 采用 url,url,url 的格式进行图片的返回 41 42 StringEntity entity = new StringEntity(jsonParam.toString(),"utf-8");//解决中文乱码问题 43 entity.setContentEncoding("UTF-8"); 44 entity.setContentType("application/json"); 45 method.setEntity(entity); 46 47 //这边使用适用正常的表单提交 48 49 // List<BasicNameValuePair> pairList = new ArrayList<BasicNameValuePair>(); 50 //pairList.add(new BasicNameValuePair("chnl_id", "11")); 51 //pairList.add(new BasicNameValuePair("title", bean.getTitle()));// 标题 52 //pairList.add(new BasicNameValuePair("content", bean.getContent()));// 资讯内容 53 //pairList.add(new BasicNameValuePair("source_url", bean.getSourceUrl()));// 资讯源地址 54 //pairList.add(new BasicNameValuePair("source_name", bean.getSourceFrom()));// 来源网站名称 55 //pairList.add(new BasicNameValuePair("img_urls", bean.getImgUrls()));// 采用 url,url,url 的格式进行图片的返回 56 //method.setEntity(new UrlEncodedFormEntity(pairList, "utf-8")); 57 58 59 HttpResponse result = httpClient.execute(method); 60 61 // 请求结束,返回结果 62 String resData = EntityUtils.toString(result.getEntity()); 63 JSONObject resJson = json.parseObject(resData); 64 String code = resJson.get("result_code").toString(); // 对方接口请求返回结果:0成功 1失败 65 logger.info("请求返回结果集{‘code‘:" + code + ",‘desc‘:‘" + resJson.get("result_desc").toString() + "‘}"); 66 67 if (!StringUtils.isBlank(code) && code.trim().equals("0")) {// 成功 68 logger.info("业务处理成功!"); 69 } else { 70 logger.error("业务处理异常"); 71 Constants.dateMap.put("lastMaxId", bean.getId()); 72 break; 73 } 74 } 75 } 76 }
以上是关于httpclient提交json参数的主要内容,如果未能解决你的问题,请参考以下文章