get/post的方式发送数据到指定的http接口

来源:互联网 发布:java版qq是什么意思 编辑:程序博客网 时间:2024/06/08 02:49
<span style="white-space:pre"></span>/** * get方式 * 利用httpclient.jar包---HTTP接口的调用  * @param param1 * @param param2 * @return */public static String getHttp(String param1, String param2) {String responseMsg = "";// 1.构造HttpClient的实例HttpClient httpClient = new HttpClient();// 用于测试的http接口的urlString url = "http://localhost:8080/UpDown/httpServer?param1=" + param1+ "¶m2=" + param2;// 2.创建GetMethod的实例GetMethod getMethod = new GetMethod(url);// 使用系统系统的默认的恢复策略getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,new DefaultHttpMethodRetryHandler());try {// 3.执行getMethod,调用http接口httpClient.executeMethod(getMethod);// 4.读取内容byte[] responseBody = getMethod.getResponseBody();// 5.处理返回的内容responseMsg = new String(responseBody);log.info(responseMsg);} catch (HttpException e) {e.printStackTrace();log.error("使用httpclient调用接口发生异常,异常详情为:{}",e);} catch (IOException e) {e.printStackTrace();log.error("使用httpclient调用接口发生异常,异常详情为:{}",e);} finally {// 6.释放连接getMethod.releaseConnection();}return responseMsg;}/** * post方式 * 利用httpclient.jar包---HTTP接口的调用  * @return * @throws UnsupportedEncodingException  * @throws IllegalArgumentException  */public static String postHttp(String url, String cmd, String arg) throws Exception {String responseMsg = "";// 1.构造HttpClient的实例HttpClient httpClient = new HttpClient();httpClient.getParams().setContentCharset("UTF-8");RequestConfig.custom().setConnectionRequestTimeout(10000).setConnectTimeout(10000).setSocketTimeout(10000).build();// 2.构造PostMethod的实例PostMethod postMethod = new PostMethod(url);// 3.把参数值放入到PostMethod对象中// 方式1:/* * NameValuePair[] data = { new NameValuePair("param1", param1), new * NameValuePair("param2", param2) }; postMethod.setRequestBody(data); */// 方式2:postMethod.addParameter("cmd", cmd);//postMethod.addParameter("arg", URLEncoder.encode(arg,"UTF-8"));postMethod.addParameter("arg", arg);try {// 4.执行postMethod,调用http接口httpClient.executeMethod(postMethod);// 200// 5.读取内容responseMsg = postMethod.getResponseBodyAsString().trim();log.info(responseMsg);// 6.处理返回的内容} catch (HttpException e) {e.printStackTrace();log.error("使用httpclient调用接口发生异常,异常详情为:{}",e);} catch (IOException e) {e.printStackTrace();log.error("使用httpclient调用接口发生异常,异常详情为:{}",e);} finally {// 7.释放连接postMethod.releaseConnection();}return responseMsg;}/** * 测试的main方法 *  * @param args */public static void main(String[] args) {String param1 = "111";String param2 = "222";// get// System.out.println("get方式调用http接口\n"+getHttp(param1, param2));// post//System.out.println("post方式调用http接口\n" + postHttp("",param1, param2));}

1 0
原创粉丝点击