private void httpReqUrl(List<HongGuTan> list, String url)
throws ClientProtocolException, IOException { logger.info("httpclient执行新闻资讯接口开始。");
JSONObject json = new JSONObject();
DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost method = new HttpPost(url); // 设置代理
if (IS_NEED_PROXY.equals("1")) {
HttpHost proxy = new HttpHost("192.168.13.19", 7777);
httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, proxy);
} if (list != null && list.size() > 0) {
logger.info("循环处理数据列表大小list.size={}", list != null ? list.size() : 0); // 开始循环组装post请求参数,使用倒序进行处理
for (int i = list.size() - 1; i >= 0; i--) {
HongGuTan bean = list.get(i);
if (bean == null) {
continue;
}
// 验证参数
Object[] objs = { bean.getTitle(), bean.getContent(),
bean.getSourceUrl(), bean.getSourceFrom(),
bean.getImgUrls() };
if (!validateData(objs)) {
logger.info("参数验证有误。");
continue;
}
// 接收参数json列表
JSONObject jsonParam = new JSONObject();
jsonParam.put("chnl_id", "11");// 红谷滩新闻资讯,channelId 77
jsonParam.put("title", bean.getTitle());// 标题
jsonParam.put("content", bean.getContent());// 资讯内容
jsonParam.put("source_url", bean.getSourceUrl());// 资讯源地址
jsonParam.put("source_name", bean.getSourceFrom());// 来源网站名称
jsonParam.put("img_urls", bean.getImgUrls());// 采用 url,url,url 的格式进行图片的返回 StringEntity entity = new StringEntity(jsonParam.toString(),"utf-8");//解决中文乱码问题
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
method.setEntity(entity); //这边使用适用正常的表单提交 // List<BasicNameValuePair> pairList = new ArrayList<BasicNameValuePair>();
//pairList.add(new BasicNameValuePair("chnl_id", "11"));
//pairList.add(new BasicNameValuePair("title", bean.getTitle()));// 标题
//pairList.add(new BasicNameValuePair("content", bean.getContent()));// 资讯内容
//pairList.add(new BasicNameValuePair("source_url", bean.getSourceUrl()));// 资讯源地址
//pairList.add(new BasicNameValuePair("source_name", bean.getSourceFrom()));// 来源网站名称
//pairList.add(new BasicNameValuePair("img_urls", bean.getImgUrls()));// 采用 url,url,url 的格式进行图片的返回
//method.setEntity(new UrlEncodedFormEntity(pairList, "utf-8")); HttpResponse result = httpClient.execute(method); // 请求结束,返回结果
String resData = EntityUtils.toString(result.getEntity());
JSONObject resJson = json.parseObject(resData);
String code = resJson.get("result_code").toString(); // 对方接口请求返回结果:0成功 1失败
logger.info("请求返回结果集{'code':" + code + ",'desc':'" + resJson.get("result_desc").toString() + "'}"); if (!StringUtils.isBlank(code) && code.trim().equals("0")) {// 成功
logger.info("业务处理成功!");
} else {
logger.error("业务处理异常");
Constants.dateMap.put("lastMaxId", bean.getId());
break;
}
}
}
}

httpclient提交json参数的更多相关文章

  1. ngResource提交json数据如何带参数

    ngResource提交json数据如何带参数 直接使用ngResource和REST服务接口交互可以让程序显得简洁,前提是配置好跨域和OPTIONS请求的支持,与此同时,如果需要带些额外的参数,有两 ...

  2. js获取get方式提交的参数返回json格式数据

    /** * 获取GET提交的参数 * @return JSON格式 * @author Terry */ function getArgs(){ var args = {}; var match = ...

  3. ②HttpURLConnection通过Json参数方式提交Post请求

    之前的文章介绍过通过报文的方式HttpURLConnection提交post请求,今天介绍下通过Json参数的方法提交Post请求,先上代码 public static HttpResponse se ...

  4. mvc ajax提交数组参数(转)

    http://blog.csdn.net/lonestar555/article/details/10192595/ 在action中的参数以数组方式接收数据 一.表单方式 1.提交Form < ...

  5. MVC中用ajax提交json对象数组

    应用场景:在前端用ajax向服务器提交json对象数组,在controller的以对象数组作为函数的参数,提交的json数组直接转为服务器端的对象数组. 如: 要将json对象数组[{Id:1,Nam ...

  6. 解决ajax get post方式提交中文参数乱码问题

    最近在工作中遇到,使用ajax get方式提交中文参数的时候出现乱码,通过上网搜索,总结出比较简单的两种解决方案: 第一种,由于tomcat默认的字符集是ISO-8859-1,修改Tomcat中的se ...

  7. Spring boot中自定义Json参数解析器

    转载请注明出处... 一.介绍 用过springMVC/spring boot的都清楚,在controller层接受参数,常用的都是两种接受方式,如下 /** * 请求路径 http://127.0. ...

  8. SpringMVC接受JSON参数详解及常见错误总结我改

    SpringMVC接受JSON参数详解及常见错误总结 最近一段时间不想使用Session了,想感受一下Token这样比较安全,稳健的方式,顺便写一个统一的接口给浏览器还有APP.所以把一个练手项目的前 ...

  9. SpringMVC接受JSON参数详解及常见错误总结

    SpringMVC接受JSON参数详解及常见错误总结 SpringMVC接受JSON参数详解及常见错误总结 最近一段时间不想使用Session了,想感受一下Token这样比较安全,稳健的方式,顺便写一 ...

随机推荐

  1. POJ3493 Largest Submatrix of All 1’s(单调栈)

    题目给一个01矩阵,求最大的1子矩阵. 先用dp预处理出每一行的每一列的1能向上按连续的1延伸多少,然后枚举每一行作为子矩阵的底,那样对于每一行的答案就是POJ2559这个经典问题了. #includ ...

  2. Complete the Sequence[HDU1121]

    Complete the Sequence Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Ot ...

  3. POJ 1523 (割点+连通分量)

    题目链接:http://poj.org/problem?id=1523 题目大意:连通图,找图中割点,并计算切除该割点后,图中的连通分量个数. 解题思路: POJ的数据很弱. Tarjan法求割点. ...

  4. Redis错误配置详解

    在使用Redis做缓存时,应用往往能得到非常高的性能.然而,如果配置不当,你将遇到很多令人头疼的问题,比如复制缓冲区限制.复制超时等. Redis提供了许多提高和维护高效内存数据库使用的工具.在无需额 ...

  5. MySQL修改root密码的各种方法整理

    方法一: 1.首先cmd中输入  net stop mysql   //停止Mysql服务 2.然后在my.ini文件中的[mysqld]下面一行添加 skip_grant_tables 3.在cmd ...

  6. Html - 涟漪特效

    这种效果稍加改造非常优雅.并且可以准确的实验触摸聚焦点.缺点是非常消耗内存.娱乐为主吧 js //╠═╬═╬═╬═╬═╬═╬═╬═╬═╬═╣ 涟漪特效 ╠═╬═╬═╬═╬═╬═╬═╬═╬═╬═╣ 涟漪 ...

  7. OS | 读写锁【摘】

    读写锁是用来解决读者写者问题的,读操作可以共享,写操作是排他的,读可以有多个在读,写只有唯一个在写,同时写的时候不允许读. 互斥锁与读写锁的区别: 当访问临界区资源时(访问的含义包括所有的操作:读和写 ...

  8. Maven 私有库 Nexus的安装

    1.下载 Nexus下载地址:http://www.sonatype.org/nexus/go/ # wget https://sonatype-download.global.ssl.fastly. ...

  9. 【转】jsonp详解

    原文地址:http://www.cnblogs.com/yuzhongwusan/archive/2012/12/11/2812849.html json相信大家都用的多,jsonp我就一直没有机会用 ...

  10. Apache Storm技术实战之2 -- BasicDRPCTopology

    欢迎转载,转载请注明出处,徽沪一郎. 本文通过BasicDRPCTopology的实例来分析DRPCTopology在提交的时候, Topology中究竟含有哪些内容? BasicDRPCTopolo ...