由于httpclient的每个版本及每次更新都会有或多或少的改变,所以本人建议所有的使用httpclient的新手一定要仔细查看官方给出的examples,这会给我们省去很多麻烦,一般如果是二进制文件的话,examples在httpcomponents-client-4.5.2-bin\httpcomponents-client-4.5.2\examples\org\apache\http\examples\client这样类似的目录下,如果是源文件目录路径也基本不变,最基本的就是quickstart.java这个文件,基本内容大致如下:
package org.apache.http.examples.client; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; public class QuickStart { public static void main(String[] args) throws Exception { CloseableHttpClient httpclient = HttpClients.createDefault(); try { HttpGet httpGet = new HttpGet("http://httpbin.org/get"); CloseableHttpResponse response1 = httpclient.execute(httpGet); // The underlying HTTP connection is still held by the response object // to allow the response content to be streamed directly from the network socket. // In order to ensure correct deallocation of system resources // the user MUST call CloseableHttpResponse#close() from a finally clause. // Please note that if response content is not fully consumed the underlying // connection cannot be safely re-used and will be shut down and discarded // by the connection manager. try { System.out.println(response1.getStatusLine()); HttpEntity entity1 = response1.getEntity(); // do something useful with the response body // and ensure it is fully consumed EntityUtils.consume(entity1); } finally { response1.close(); } HttpPost httpPost = new HttpPost("http://httpbin.org/post"); List <NameValuePair> nvps = new ArrayList <NameValuePair>(); nvps.add(new BasicNameValuePair("username", "vip")); nvps.add(new BasicNameValuePair("password", "secret")); httpPost.setEntity(new UrlEncodedFormEntity(nvps)); CloseableHttpResponse response2 = httpclient.execute(httpPost); try { System.out.println(response2.getStatusLine()); HttpEntity entity2 = response2.getEntity(); // do something useful with the response body // and ensure it is fully consumed EntityUtils.consume(entity2); } finally { response2.close(); } } finally { httpclient.close(); } } }
相关推荐
这个jar包是Apache HttpClient的4.1.3版本,发布于2012年,是HttpClient的一个稳定版本。 在Apache HttpClient 4.1.3中,包含了以下关键知识点: 1. **HTTP方法支持**:HttpClient 支持HTTP协议的各种方法,如GET...
这个jar包是Apache HttpClient的核心组件,广泛应用于各种Java应用程序,尤其是那些需要与Web服务进行交互的场景。 在Apache HttpClient中,你可以: 1. **创建HTTP请求**:HttpClient允许你轻松地构造GET、POST...
在本文中,我们将深入探讨HttpClient的核心概念、主要功能以及如何使用它来实现网络爬虫。 **HttpClient 主要特点** 1. **异步和同步API**: HttpClient 提供了同步和异步两种API,以适应不同的应用场景。同步API...
在阅读博文《网络爬虫 apache HttpClient》时,作者可能详细介绍了如何初始化HttpClient实例,设置请求参数,处理响应,以及如何利用HttpClient进行多线程爬虫开发。文章可能还会涵盖一些实战案例,比如抓取特定网站...
在标题"org.apache.commons.httpclient相关资源包"中,我们可以看出这是关于使用Apache HttpClient进行HTTP通信的知识点。Apache HttpClient库是Apache软件基金会的一个项目,它提供了对HTTP协议的全面支持,包括GET...
- `LICENSE.txt`:包含了Apache Commons HttpClient的许可协议,它遵循Apache 2.0许可证,允许免费使用和修改源代码。 - `README.txt`:一般提供了项目的简介和快速入门指南。 - `NOTICE.txt`:通常列出库中可能包含...
此外,Apache HttpClient库已经被弃用,现在推荐使用Java 7及更高版本内置的`java.net.HttpURLConnection`或更现代的库如Apache HttpClient 4.x或OkHttp。不过,对于理解HTTP客户端编程的基本原理,HttpClient仍然是...
有两种常见的方法:一是使用`java.net.URLConnection`类,二是通过Apache HttpClient库。这篇文章将对比这两种方法,探讨它们的优缺点以及适用场景。 `java.net.URLConnection`是Java标准库中的一个类,可以直接...
本教程将基于标题"HTTPClient简单使用"和提供的文件`HttpService`、`HttpClient`来阐述HTTPClient的基本使用方法。 1. **HTTPClient简介** HTTPClient是Apache的 HttpClient库,它为Java开发者提供了全面的HTTP...
使用HttpClient,你可以创建一个`HttpClient`实例,然后配置各种参数,如连接超时、重试策略、Cookie管理等。此外,`HttpMethod`接口定义了HTTP方法,如`HttpGet`、`HttpPost`,它们可以用来构造具体请求。 在HTTP...
Apache HttpClient是一个广泛使用的库,用于执行HTTP协议相关的操作。随着技术的发展,从早期的HttpClient 3.x版本迁移到更新的HttpComponents HttpClient 4.x版本是一个常见的需求。这不仅仅是一个简单的升级过程,...
Apache HttpClient 是一个提供 HTTP 协议客户端功能的开源库,它是 Apache Jakarta Commons 下的一个项目。HttpClient 的功能包括但不限于 HTTP 请求的执行、响应的处理、连接管理、异常处理、协议拦截器以及重定向...
HttpClient是个很不错的开源框架(org.appache.http),封装了访问http的请求头,参数,内容体,响应等等,使用起来更方面更强大。 HttpURLConnection是java的标准类,可以实现简单的基于URL请求、响应功能,什么都...
3. **使用方式**:在项目中引入`org.apache.commons.httpclient-3.1.0.jar`后,可以通过创建`HttpClient`实例,配置各种参数,然后调用`executeMethod`方法来发送HTTP请求。例如,发送一个GET请求: ```java ...
《HttpClient 4.5及其依赖库详解》 HttpClient是一个由Apache基金会开发的Java库,用于在HTTP协议上...无论是简单的GET请求还是复杂的POST操作,甚至包括HTTP/2和安全的HTTPS通信,HttpClient 4.5都能提供强大的支持。
在这个专题中,我们将深入探讨Apache HttpClient 3.1的核心特性,以及如何在实际项目中有效地使用它。 Apache HttpClient 3.1是该库的一个稳定版本,提供了丰富的API,使得开发者可以方便地执行HTTP请求,包括GET、...