httpclient提交json参数
2015-11-23 15:28
519 查看
httpclient使用post提交json参数,(跟使用表单提交区分):
[java] view
plaincopy
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;
}
}
}
}
/article/8197969.html
相关文章推荐
- HTTP常用错误码
- http_build_query用法,挺方便的
- In Gradle projects, always use http://schemas.android.com/apk/res-auto
- 转: HTTP协议的头信息详解
- 判断网络状态
- 协议森林08 不放弃 (TCP协议与流通信)
- 三种嵌入式web服务器(Boa / lighttpd / shttpd)的 linux移植笔记 2
- 网络请求Http
- [python&php 网络编程]把socket改成阻塞或非阻塞模式
- 简单的scala实现的网络爬虫
- LeNet -5 卷积神经网络的网络结构
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- AFNetWorking初探之AFHTTPRequestOperation(三)
- setsockopt()改善socket网络程序的健壮性
- 揭开Socket编程的面纱http://www.cnblogs.com/goodcandle/archive/2005/12/10/socket.html
- Java - 网络编程(NetWork)
- iOS9 beta 请求出现App Transport Security has blocked a cleartext HTTP (http://)
- 是什么原因导致 无法连接到远程服务器
- Oracle ORA-24247: 网络访问被访问控制列表 (ACL) 拒绝
- iOS 使用模拟器的时候快速切换网络的指令