首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JAVA兑现httpClient

2012-12-25 
JAVA实现httpClient/**  */  public class MyClient {  /**  *的到Http请求结果  * @param url请求地址  *

JAVA实现httpClient

/**

  */

  public class MyClient {

  /**

  *的到Http请求结果

  * @param url请求地址

  * @param parms请求参数

  * @return

  */

  public byte[] getBody(String url,Map parms){

  byte[] body=null;

  //构造HttpClient的实例

  HttpClient httpClient = new HttpClient();

  //创建GET方法的实例

  PostMethod postMethod = new PostMethod(url);

  //填入各个表单域的值

  NameValuePair[] data = new NameValuePair[parms.keySet().size()]; Iterator it = parms.entrySet().iterator();

  int i=0;

  while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); Object value = entry.getValue(); data[i]=new NameValuePair(key.toString(),value.toString());

  i++;

  }

  //将表单的值放入postMethod中

  postMethod.setRequestBody(data);

  try {

  //执行postMethod

  int statusCode = httpClient.executeMethod(postMethod); // 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);

  } else {

  System.err.println(“Location field value is null.”);

  }

  }

  body = postMethod.getResponseBody();

  } catch (Exception e) {

  e.printStackTrace();

  }

  return body;

  }

  public static void main(String[] args) {

  String url=“http://www.xfok.net”;

  Map parms=new HashMap();

  MyClient client=new MyClient();

  String result=new String(client.getBody(url, parms)); System.out.println(result);

  }

  }

热点排行