duyunfengsolo 发表于 2013-2-7 18:55:26

httpClient,JAVA访问http request response

package com;import java.io.IOException;import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpException;import org.apache.commons.httpclient.HttpStatus;import org.apache.commons.httpclient.methods.GetMethod;import org.apache.commons.httpclient.params.HttpMethodParams;public class HttpClientSimple { public static void main(String[] args){   //构造HttpClient的实例   HttpClient httpClient = new HttpClient();   //设置 Http 连接超时为5秒   httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);   //创建GET方法的实例    String url = "http://192.168.1.108:8080/cyberage/Page!test.action";   GetMethod getMethod = new GetMethod(url);          //设置 get 请求超时为 5 秒   getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT,5000);   //使用系统提供的默认的恢复策略   getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,       new DefaultHttpMethodRetryHandler());   try{      //执行getMethod      int statusCode = httpClient.executeMethod(getMethod);      if (statusCode != HttpStatus.SC_OK){       System.err.println("Method failed: "            + getMethod.getStatusLine());      }            //读取内容 ,第二种方式获取      /*String newStr = new String(getMethod.getResponseBodyAsString().getBytes(),"UTF-8");      System.out.println(newStr);*/            //读取内容 ,第一种方式获取      byte[] responseBody = getMethod.getResponseBody();      //处理内容      System.out.println(new String(responseBody));   }catch(HttpException e){      //发生致命的异常,可能是协议不对或者返回的内容有问题      System.out.println("Please check your provided http address!");      e.printStackTrace();   }catch(IOException e){      //发生网络异常      e.printStackTrace();   }finally{      //释放连接      getMethod.releaseConnection();   } }} 它返回的结果是html的标签的页面代码,然后再在里面进行解析。
如果要想运行上面的代码需要加入下面的“官网的3个jar包.rar” 即可。
commons-codec-1.4.jar   commons-httpclient-3.0.1.jar   commons-logging-1.1.1.jar
页: [1]
查看完整版本: httpClient,JAVA访问http request response