httpclient及有关jar包详解

httpclient及有关jar包详解

ID:37410569

大小:50.00 KB

页数:8页

时间:2019-05-23

httpclient及有关jar包详解_第1页
httpclient及有关jar包详解_第2页
httpclient及有关jar包详解_第3页
httpclient及有关jar包详解_第4页
httpclient及有关jar包详解_第5页
资源描述:

《httpclient及有关jar包详解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实用文案HttpClient及有关jar包详解1.HttpClient简介  HttpClient是ApacheJakartaCommon下的子项目,可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。本文首先介绍HTTPClient,然后根据作者实际工作经验给出了一些常见问题的解决方法。HTTP协议可能是现在Internet上使用得最多、最重要的协议了,越来越多的Java应用程序需要直接通过HTTP协议来访问网络资源。虽然在JDK的java.net包中已经提供了访问HTTP协议的基

2、本功能,但是对于大部分应用程序来说,JDK库本身提供的功能还不够丰富和灵活。HttpClient是ApacheJakartaCommon下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如ApacheJakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。现在HttpClient最新版本为HttpClient4.0-beta22.HttpClient功能介绍  以下列出的是HttpCl

3、ient提供的主要的功能,要知道更多详细的功能可以参见HttpClient的主页。  (1)实现了所有HTTP的方法(GET,POST,PUT,HEAD等)  (2)支持自动转向  (3)支持HTTPS协议  (4)支持代理服务器等3.HttpClient基本功能的使用  (1)GET方法  使用HttpClient需要以下6个步骤:  1.创建HttpClient的实例  2.创建某种连接方法的实例,在这里是GetMethod。在GetMethod的构造函数中传入待连接的地址  3.调用第一步中创建好的实例的execute方法来执行第二步中创

4、建好的method实例标准文档实用文案  4.读response  5.释放连接。无论执行方法是否成功,都必须释放连接  6.对得到后的内容进行处理  根据以上步骤,我们来编写用GET方法来取得某网页内容的代码。  大部分情况下HttpClient默认的构造函数已经足够使用。HttpClienthttpClient=newHttpClient();  创建GET方法的实例。在GET方法的构造函数中传入待连接的地址即可。用GetMethod将会自动处理转发过程,如果想要把自动处理转发过程去掉的话,可以调用方法setFollowRedirects(

5、false)。GetMethodgetMethod=newGetMethod(".....");  调用实例httpClient的executeMethod方法来执行getMethod。由于是执行在网络上的程序,在运行executeMethod方法的时候,需要处理两个异常,分别是HttpException和IOException。引起第一种异常的原因主要可能是在构造getMethod的时候传入的协议不对,比如不小心将"http"写成"htp",或者服务器端返回的内容不正常等,并且该异常发生是不可恢复的;第二种异常一般是由于网络原因引起的异常,对

6、于这种异常(IOException),HttpClient会根据你指定的恢复策略自动试着重新执行executeMethod方法。HttpClient的恢复策略可以自定义(通过实现接口HttpMethodRetryHandler来实现)。通过httpClient的方法setParameter设置你实现的恢复策略,本文中使用的是系统提供的默认恢复策略,该策略在碰到第二类异常的时候将自动重试3次。executeMethod返回值是一个整数,表示了执行该方法后服务器返回的状态码,该状态码能表示出该方法执行是否成功、需要认证或者页面发生了跳转(默认状态下

7、GetMethod的实例是自动处理跳转的)等。//设置成了默认的恢复策略,在发生异常时候将自动重试3次,在这里你也可以设置成自定义的恢复策略  getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,  newDefaultHttpMethodRetryHandler());  //执行getMethod  intstatusCode=client.executeMethod(getMethod);  if(statusCode!=HttpStatus.SC_OK){ 

8、 System.err.println("Methodfailed:"+getMethod.getStatusLine());  }标准文档实用文案 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。