欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

HttpClient简介,,HTTP 协议可能是现在

来源: javaer 分享于  点击 43484 次 点评:273

HttpClient简介,,HTTP 协议可能是现在


HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 ApacheJakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient,更多使用 HttpClient的应用可以参见http://wiki.apache.org/jakarta-httpclient/HttpClientPowered。HttpClient项目非常活跃,使用的人还是非常多的。目前 HttpClient 版本是在 2005.10.11 发布的 3.0 RC4 。

package test;import java.io.IOException;import org.apache.commons.httpclient.*;import org.apache.commons.httpclient.methods.GetMethod;import org.apache.commons.httpclient.params.HttpMethodParams;public class GetSample{  public static void main(String[] args) {  //构造HttpClient的实例  HttpClient httpClient = new HttpClient();  //创建GET方法的实例  GetMethod getMethod = new GetMethod("<a href="http://www.ibm.com">http://www.ibm.com");  //使用系统提供的默认的恢复策略  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());   }   //读取内容    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();  } }}//该片段来自于http://byrx.net
相关栏目:

用户点评