httpclient调用struts服务
2018-01-16 15:44
543 查看
package com; import java.io.IOException; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONObject; import org.apache.http.NameValuePair; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.ResponseHandler; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; /** * * * @author muyunfei * * <p>Modification History:</p> * <p>Date Author Description</p> * <p>------------------------------------------------------------------</p> * <p>Oct 9, 2016 牟云飞 新建</p> */ public class BugMain { public static void main(String[] args) { try{ CloseableHttpClient httpclient = HttpClients.createDefault(); HttpPost httpPost= new HttpPost("http://www.XXXXXX.com/XXXXXX/serviceInvoke.do"); httpPost.setHeader("hy_serviceName", "chargeXXXXX"); httpPost.setHeader("account", "1556257XXXXX"); httpPost.setHeader("password ", "mima"); httpPost.setHeader("signature ", "dX5db5tnj1gQt0c7TkmB1A=="); httpPost.setHeader("timeStr ", "1499134848000"); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("channel", "0")); params.add(new BasicNameValuePair("chargeId", "FS-Z-002"));//充电枪 params.add(new BasicNameValuePair("chargeNumber", "0"));//充满电 params.add(new BasicNameValuePair("chargeType", "4"));//充满电 params.add(new BasicNameValuePair("pointId", "0"));//充电枪号 params.add(new BasicNameValuePair("type", "0")); httpPost.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8)); // Create a custom response handler ResponseHandler<JSONObject> responseHandler = new ResponseHandler<JSONObject>() { //成功调用连接后,对返回数据进行的操作 public JSONObject handleResponse( final HttpResponse response) throws ClientProtocolException, IOException { int status = response.getStatusLine().getStatusCode(); if (status >= 200 && status < 300) { //获得调用成功后 返回的数据 HttpEntity entity = response.getEntity(); if(null!=entity){ String result= EntityUtils.toString(entity); //根据字符串生成JSON对象 JSONObject resultObj = JSONObject.fromObject(result); return resultObj; }else{ return null; } } else { throw new ClientProtocolException("Unexpected response status: " + status); } } }; //返回的json对象 JSONObject responseBody = httpclient.execute(httpPost, responseHandler); System.out.println(responseBody); }catch (Exception e) { e.printStackTrace(); } } }
相关文章推荐
- 服务间调用方法:HttpClient
- struts中的Action层调用服务层时,不需要在Spring配置文件中做属性注入
- spring+httpClient调用别人服务
- 使用HttpClient调用RESTful Web服务
- spring cloud搭建微服务second-fiberhome(三):consul结合config以及bus实现配置文件通过RabbitMQ动态调用
- 为 Web 服务构建 Struts 应用程序
- 浅谈Eclipse调用Tomcat服务的原理 .
- error:在调用httpd.exe安装Apache服务时,总出现端口被占用
- C#调用wcf服务
- WCF服务开发与调用的完整示例
- Android系统篇之----Binder机制和远程服务调用机制分析
- android基础笔记:服务(Service) 采用接口的方式调用本地服务的方法
- SharePoint 2013 调用WCF服务简单示例
- Web服务异步调用实训
- 【web service 】 wsimport 生成客户端代码调用webservice 服务
- Java与WCF交互(一):Java客户端调用WCF服务
- Web服务下的异步调用
- 使用vbscript脚本调用web服务
- Android系统篇之----Binder机制和远程服务调用机制分析
- 部署在wcf rest服务上的wcf rest服务调用页面程序