HttpClient简单使用(附带小样例)

HttpClient简单使用(附带小样例)
入门:
1、首先导入3个jar包,httpClient-3.0.1.jar,commons_codec-1.3.jar,commons-logging.jar.

2、客户端程序如下:

import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;

HttpClient hc = new HttpClient();
     PostMethod hm = new PostMethod(url);
     hm.addParameter(name,value);
 
     int statusCode = -1;
     String result = "";
     try{
      hm.getResponseBodyAsString();
      statusCode = hc.executeMethod(hm);
  
      if(hm.getResponseBodyAsString()!=null){
       result = hm.getResponseBodyAsString();
      }
     }catch(HttpException e1){
      e1.printStackTrace();
     }catch(java.io.IOException e2){
      e2.printStackTrace();
     }

     hm.releaseConnection();

3、服务器端:

post方式接受参数,处理后out.println数据。

---------------------------------------------------

HttpClient获取其他页面数据:

导入包:

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

import org.apache.commons.httpclient.*;

import org.apache.commons.httpclient.methods.*;


代码:

HttpClient hc = new HttpClient();

HttpMethod hm = new GetMethod("http://www.sina.com.cn");

hm.addRequestHeader("Content-Type","text/html;charset=utf-8"); //这里设置字符编码,避免乱码  


int statusCode = -1;

byte[] result = null;

try{

       statusCode = hc.executeMethod(hm);

       if(statusCode != HttpStatus.SC_OK){//判断返回

              System.out.println("get failure!");

              return;

       }

       if(hm.getResponseBody()!=null){//获取页面数据

              result = hm.getResponseBody();//hm.getStatusLine()――http状态和请求结果

       }

}catch(HttpException e1){

       e1.printStackTrace();

}catch(java.io.IOException e2){

       e2.printStackTrace();

}


hm.releaseConnection();


String data = null;

if(result != null){                

       data = new String(result,"UTF-8");//字符编码设置

System.out.println(data.substring(0,500));//测试输出


       int begin = data.indexOf("product");//获取指定页面某个部分的内容

       System.out.println(“product:”+begin);


       if(begin>-1){//输出1000个字符

              System.out.println(Strings.convertHTML(data.substring(begin,begin+1000)));

       }

}     

//这部分代码写的时候,乱码哪里卡了半天,faint


你可能感兴趣的:(apache,html)