首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

JAVA兑现httpClient实例

2012-11-08 
JAVA实现httpClient实例package net.zhutou.httpimport java.util.HashMap import java.util.Iterator

JAVA实现httpClient实例

package net.zhutou.http;import java.util.HashMap; import java.util.Iterator; import java.util.Map;import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod;   /**    * @author 猪头    */    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.huawei.com”;    Map parms=new HashMap();    MyClient client=new MyClient();    String result=new String(client.getBody(url, parms)); System.out.println(result);    }    }

热点排行