HttpComponents 也就是以前的httpclient项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端/服务器编程工具包,并且它支持 HTTP 协议最新的版本和建议。不过现在的 HttpComponents 包含多个子项目,有:
-
HttpComponents Core
-
HttpComponents Client
-
HttpComponents AsyncClient
-
Commons HttpClient
以下列出的是 HttpClient 提供的主要的功能,要知道更多详细的功能可以参见 HttpClient 的主页。
-
实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
-
支持自动转向
-
支持 HTTPS 协议
-
支持代理服务器等
-
支持Cookie
之前用的HttpClient的方法都失效了,比如 httpclinet =new DefaultHttpClient(); 不知道为啥包里80%的类都失效了,总是觉得创建一个httpclient实例会比较麻烦,记不住。所以整理了一下新的方式简单使用。
简单使用
导入jar包
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
get请求获取响应
CloseableHttpClient httpClient= HttpClients.createDefault();
HttpGet httpget = new HttpGet("http://www.baidu.com");
CloseableHttpResponse response = httpClient.execute(httpget);
HttpEntity httpEntity= response.getEntity();
String strResult= EntityUtils.toString(httpEntity);
post请求获取响应
HttpPost httpost = new HttpPost("https://www.baidu.com");
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("IDToken1", "username"));
nvps.add(new BasicNameValuePair("IDToken2", "password"));
httpost.setEntity(new UrlEncodedFormEntity(nvps, Consts.UTF_8));
HttpClient提供URIBuilder工具类来简化URIs的创建和修改过程。
URI uri = new URIBuilder()
.setScheme("http")
.setHost("www.google.com")
.setPath("/search")
.setParameter("q", "httpclient")
.setParameter("btnG", "Google Search")
.setParameter("aq", "f")
.setParameter("oq", "")
.build();
HttpGet httpget = new HttpGet(uri);
System.out.println(httpget.getURI())
模拟浏览器请求
httpget.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0");
博客地址:http://my.oschina.net/wangnian
相关推荐
httpcomponents-client-4.5.2-bin.zip HttpComponents也就是以前的httpclient项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端/服务器编程工具包,并且它支持 HTTP 协议最新的版本和建议。 ...
《HTTPComponents Client 4.5.2:网络安卓开发中的利器》 在移动应用开发,尤其是Android平台上,网络通信是不可或缺的一部分。HTTPComponents Client 4.5.2是一款高效的、可扩展的Java库,专为处理HTTP协议而设计...
commons-codec-1.11.jar commons-logging-1.2.jar fluent-hc-4.5.10.jar httpclient-4.5.10.jar httpclient-cache-4.5.10.jar httpclient-osgi-4.5.10.jar httpclient-win-4.5.10.jar ...jna-platform-4.5.2.jar
httpcomponents-client-4.5.2-src,源码android
本文将详细解析Apache HttpClient 4.5.2版本,并提供解决方案,帮助开发者解决导入问题。 Apache HttpClient是一个功能强大且灵活的HTTP客户端实现,支持HTTP/1.1和部分HTTP/2协议。它的主要目标是提供一种可靠的、...
9. **jna-4.5.2.jar** 和 **jna-platform-4.5.2.jar**:Java Native Access (JNA) 是一个Java库,允许与本机平台API交互,这些库可能是HTTPClient在某些情况下与操作系统交互时需要的。 这些JAR文件一起构成了一个...
《HttpClient 4.5.2 源码分析与应用》 HttpClient 是 Apache 开源组织提供的一个用于执行 HTTP 请求的 Java 库,广泛应用于各种网络编程任务,包括数据抓取、自动化测试、API 调用等。HttpClient 4.5.2 版本是其...
Maven坐标:org.apache.httpcomponents:httpmime:4.5.2; 标签:apache、httpcomponents、httpmime、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...
对应Maven信息:groupId:org.apache.httpcomponents,artifactId:httpclient,version:4.5.2 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...
Maven坐标:org.apache.httpcomponents:httpmime:4.5.2; 标签:apache、httpcomponents、httpmime、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档...
在标题提到的`httpcomponents-client-4.2.5-bin.tar`中,我们找到了Apache HttpClient的特定版本4.2.5的二进制分发包,它通常包含了一系列的JAR文件,用于支持网络爬虫和其他需要与HTTP服务器交互的应用程序。...
httpcomponents-client-4.5.4-src.zip 官方更新说明: The Apache HttpComponents™ project is responsible for creating and maintaining a toolset of low level Java components focused on ...
对应Maven信息:groupId:org.apache.httpcomponents,artifactId:httpclient,version:4.5.2 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...
包含httpclient所需jar包,包括commons-codec-1.11.jar、commons-logging-1.2.jar、fluent-hc-4.5.9.jar、httpclient-4.5.9.jar、httpclient-cache-4.5.9.jar、httpclient-osgi-...4.5.2.jar、jna-platform-4.5.2.jar
Http协议使用封装jar包(commons-codec-1.3.jar、commons-httpclient-3.1.jar、commons-logging-1.1.jar),资源包括: commons-codec-1.11.jar; commons-logging-1.2.jar; fluent-hc-4.5.8.jar; httpclient-...
包含所有httpclient用到的jar:commons-codec-1.11.jar;commons-logging-1.2.jar;fluent-hc-4.5.12.jar;httpclient-4.5.12.jar;httpclient-cache-4.5.12.jar;httpclient-osgi-4.5.12.jar...jna-platform-4.5.2.jar
使用新的语法后比3.*版本的速度感觉有提升。使用后注意资源的释放 pom 部分,应该不全,需要用的根据代码的import去找maven资源即可。 <groupId>org.apache.httpcomponents <artifactId>httpclient <version>...
<version>4.5.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.5</version> </dependency> <dependency>...
5. `jna-platform-4.5.2.jar` 和 `jna-4.5.2.jar`:Java Native Access库,用于与本地操作系统进行交互,这里可能是为了某些特定操作系统的兼容性。 6. `httpclient-cache-4.5.13.jar`:提供了HTTP缓存功能,可以...