from:http://www.innovation.ch/java/HTTPClient/urlcon_vs_httpclient.html
| URLConnection | HTTPClient |
Methods | Only HEAD, GET, POST, PUT, DELETE, TRACE and OPTIONS. | Has HEAD, GET, POST, PUT, DELETE, TRACE and OPTIONS, plus any arbitrary method, such as those from WEBDav and IPP. |
Response Codes | The response code, headers, and body can only be read if the response code was less than 400 - for any 4xx or 5xx response code, you only get IOException's when trying to get any response info. | The response code, all headers, and the body can always be read normally. |
Proxies and SOCKS | Full support (SOCKS: Version 4 only) | Full support (SOCKS: both version 4 and 5) |
Authorization | Support for Basic and an early version of Digest in JDK 1.2 or later, only. The current version of Digest authentication (which is the one supported by most servers) is not supported, and due to a bug of theirs they won't even recognize the digest info returned by Apache. | Support for Basic and Digest Authentication; other schemes can be added. |
Cookies | No | Yes |
True request output streams | No - all data is fully buffered before it is sent. | Yes - HttpOutputStream will stream directly to the socket. |
True response input streams | Under JDK 1.2, yes; under JDK 1.3 only if the response is not sent using the chunked encoding (this excludes most server-push responses). | Yes. |
Persistent Connections | HTTP/1.0 Keep-Alive's in JDK 1.1 and JDK 1.2; JDK 1.3 has HTTP/1.1 persistence. | Supports HTTP/1.0 Keep-Alive's and HTTP/1.1 persistence. |
Pipelining of Requests | No. | Yes. |
Can set Timeouts | No. | Yes. |
Can handle protocols other than HTTP | Yes (e.g. ftp, gopher, mailto, and file are provided) | No. |
Can do HTTP over SSL (https) | Appropriate SSL package (such as JSSE) which provides an appropriate client must be installed. | Patches are available for various free and commercial SSL packages |
Source code available | No. | Yes. |
分享到:
相关推荐
NULL 博文链接:https://xiaowei-qi-epro-com-cn.iteye.com/blog/1973295
另一方面,`HttpURLConnection`是Java标准库的一部分,与HttpClient相比,它的使用更简单,但功能相对较少。它直接继承自URLConnection,因此适用于简单的HTTP请求,而不需要额外的依赖。使用HttpURLConnection的...
有两种常见的方法:一是使用`java.net.URLConnection`类,二是通过Apache HttpClient库。这篇文章将对比这两种方法,探讨它们的优缺点以及适用场景。 `java.net.URLConnection`是Java标准库中的一个类,可以直接...
通过这个"Web Service Tester"项目,开发者可以学习到如何在Android环境中实现网络请求,对比URLConnection和HttpClient的使用差异,从而在实际项目中选择最适合的方法。同时,这也是一个很好的实战练习,加深对...
10. **第三方库集成**:HttpClient与其他开源库如Jsoup(HTML解析)和Gson(JSON处理)等兼容良好,可以构建完整的网络数据处理链路。 在实际项目中,将HttpClient-4.5所需jar包解压后,开发者可以将这些jar文件...
3.javanet包下面是基于jdk自带的UrlConnection进行封装的。 前2个工具类支持插件式配置Header、插件式配置httpclient对象,这样就可以方便地自定义header信息、配置ssl、配置proxy等。 第三个虽然支持代理、ssl,...
它弥补了JDK内置的java.net包中URL和URLConnection类在HTTP客户端编程方面的不足,提供了更丰富和灵活的功能。HttpClient组件允许应用程序直接通过HTTP协议访问Web服务器上的资源,这对于RIA(Rich Internet ...
在Java编程语言中,我们可以使用多种方法来实现这一功能,其中URLConnection是Java标准库提供的一种网络通信接口,虽然HttpClient更为流行,但URLConnection在某些场景下依然具有实用性。下面我们将深入探讨...
接下来,了解JDK中与HTTP和URL处理相关的API是使用HttpClient前的必要步骤。JDK提供了***.*包下的多个类来处理网络通信,如URL和URLConnection等。使用URL类的实例可以打开一个网络资源的输入流,获取网页内容是网络...
在Android开发中,与服务器进行通信是不可或缺的一部分,特别是对于HTTPS协议,它为网络通信提供了安全性和隐私保护。本文将详细介绍如何使用`HttpClient`和`HttpsURLConnection`两种方式来访问HTTPS网站,包括验证...
android与服务器间的通信开发,利用URL,URLConnection,HTTPClient开发
理解URL的各个组成部分后,我们可以通过`openConnection()`方法获取到与该URL对应的URLConnection对象,它是`java.net.URLConnection`类的实例。URLConnection是Java中连接网络资源的基础,它可以用于读取、写入或...
由于JDK内置的java.net.URL和URLConnection类在功能上可能不足以满足复杂的需求,Commons-HTTPClient 提供了更为丰富和灵活的功能。 HttpClient 支持HTTP 1.0和1.1协议的全部方法,包括GET、POST、PUT、DELETE、...
本例子源码展示了如何利用Apache HttpClient库来实现这一功能,同时也对比了另一种常见的网络访问方式——URLConnection。以下是对这两个方法的详细解释。 首先,我们来看`HttpClient`的使用。Apache HttpClient是...
这时,我们可以创建自定义的`URLConnection`子类,或者使用第三方库如Apache HttpClient或OkHttp来增强功能。博客中提到的`WebUrlRequestBuilder.java`文件很可能就是这样一个工具,用于构建和管理网络请求,可能...
这时,`httpclient`库提供了一种解决方案,允许我们以非标准方式配置客户端,从而忽略证书校验错误。 `httpclient`是一个强大的Java库,用于执行HTTP请求,支持多种协议,包括HTTPS。在`httpclient-4.2.5.jar`这个...
#### 一、URL与URLConnection简介 `URL`(Uniform Resource Locator)是统一资源定位符的缩写,它是一种用于完整地描述Internet上网页和其他资源的地址格式。一个典型的URL由协议、主机名、端口号、路径和查询字符...
// 打开连接,URL.openConnection函数会根据URL的类型,返回不同的URLConnection子类的对象 HttpURLConnection connection = (HttpURLConnection) getUrl.openConnection(); // 进行连接 connection.connect();...