- 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;
- }
- }
- }
- }
其餘參考地址: http://www.iteblog.com/archives/1379json