/**
* 模拟表单提交 * url * data * * 2016-6-27 */ public static String methodPost(String url,NameValuePair[] data){ String response= "";//要返回的response信息 HttpClient httpClient = new HttpClient(); PostMethod postMethod = new PostMethod(url); //设置编码 postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8"); // 将表单的值放入postMethod中 postMethod.setRequestBody(data); // 执行postMethod int statusCode = 0; try { statusCode = httpClient.executeMethod(postMethod); } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发 // 301或者302 if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) { // 从头中取出转向的地址 Header locationHeader = postMethod.getResponseHeader("location"); String location = null; if (locationHeader != null) { location = locationHeader.getValue(); System.out.println("The page was redirected to:" + location); response= methodPost(location,data);//用跳转后的页面重新请求。 } else { System.err.println("Location field value is null."); } } else { System.out.println(postMethod.getStatusLine()); try { response= postMethod.getResponseBodyAsString(); } catch (IOException e) { e.printStackTrace(); } postMethod.releaseConnection(); } return response; }