- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HttpClient 学习整理
HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的实现,发现这个开源项
目之后就有点眉目了,令人头痛的cookie 问题还是有办法解决滴。在网上整理了一些东西,写
得很好,寄放在这里。
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程
序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 包中已经提供了访问
HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和
灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、必威体育精装版的、
功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议必威体育精装版的版本和建议。
HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目
Cactus 和 HTMLUnit 都使用了 HttpClient,更多使用 HttpClient 的应用可以参见
/jakarta-httpclient/HttpClientPowered。HttpClient 项目非常活
跃,使用的人还是非常多的。目前 HttpClient 版本是在 2005.10.11 发布的 3.0 RC4 。
------------------------------------
应用HttpClient 来对付各种顽固的WEB 服务器
转自:/ambitiontan/archive/2006/01/06/572171.aspx
一般的情况下我们都是使用IE 或者Navigator 浏览器来访问一个WEB 服务器,用来浏览页面
查看信息或者提交一些数据等等。所访问的这些页面有的仅仅是一些普通的页面,有的需要用户
登录后方可使用,或者需要认证以及是一些通过加密方式传输,例如HTTPS。目前我们使用的
浏览器处理这些情况都不会构成问题。不过你可能在某些时候需要通过程序来访问这样的一些页
面,比如从别人的网页中“偷”一些数据;利用某些站点提供的页面来完成某种功能,例如说我们
想知道某个手机号码的归属地而我们自己又没有这样的数据,因此只好借助其他公司已有的网站
来完成这个功能,这个时候我们需要向网页提交手机号码并从返回的页面中解析出我们想要的数
据来。如果对方仅仅是一个很简单的页面,那我们的程序会很简单,本文也就没有必要大张旗鼓
的在这里浪费口舌。但是考虑到一些服务授权的问题,很多公司提供的页面往往并不是可以通过
一个简单的URL 就可以访问的,而必须经过注册然后登录后方可使用提供服务的页面,这个时
候就涉及到COOKIE 问题的处理。我们知道目前流行的动态网页技术例如ASP、JSP 无不是通
过COOKIE 来处理会话信息的。为了使我们的程序能使用别人所提供的服务页面,就要求程序
首先登录后再访问服务页面,这过程就需要自行处理cookie,想想当你用
.HttpURLConnection 来完成这些功能时是多么恐怖的事情啊!况且这仅仅是我们所
说的顽固的WEB 服务器中的一个很常见的“顽固”!再有如通过HTTP 来上传文件呢?不需要头
疼,这些问题有了“它”就很容易解决了!
我们不可能列举所有可能的顽固,我们会针对几种最常见的问题进行处理。当然了,正如前面说
到的,如果我们自己使用. HttpURLConnection 来搞定这些问题是很恐怖的事情,因
此在开始之前我们先要介绍一下一个开放源码的项目,这个项目就是Apache 开源组织中的
httpclient,它隶属于Jakarta 的commons 项目,目前的版本是2.0RC2。commons 下本
来已经有一个net 的子项目,但是又把httpclient 单独提出来,可见http 服务器的访问绝非易
事。
Commons-httpclient 项目就是专门设计来简化HTTP 客户端与服务器进行各种通讯编程。通
过它可以让原来很头疼的事情现在轻松的解决,例如你不再管是HTTP 或者HTTPS 的通讯方式,
告诉它你想使用HTTPS 方式,剩下的事情交给httpclient 替你完成。本文会针对我们在编写
HTTP 客户端程序时经常碰到的几个问题进行分别介绍如何使用httpclient 来解决它们,为了
让读者更快的熟悉这个项目我们最开始先给出一个简单的例子来读取一个网页的内容,然后循序
渐进解决掉前进中的所有问题。
1.读取网页(HTTP/HTTPS)内容
下
文档评论(0)