import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
public class HttpClientTest {
public static void main(String[] args) throws ClientProtocolException,
IOException {
HttpClient httpclient = new DefaultHttpClient();
// Prepare a request object
HttpGet httpget = new HttpGet("*********");
httpget.addHeader("accept-encoding", "gzip,deflate");
httpget.addHeader("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Alexa Toolbar; Maxthon 2.0)");
// Execute the request
HttpResponse response = httpclient.execute(httpget);
// Examine the response status
System.out.println(response.getStatusLine());
// Get hold of the response entity
HttpEntity entity = response.getEntity();
// to worry about connection release
if (entity != null) {
InputStream instream = entity.getContent();
try {
BufferedReader reader = new BufferedReader(
new InputStreamReader(instream));
// do something useful with the response
String htmlStr;
while((htmlStr = reader.readLine()) != null ){
System.out.println(htmlStr);
}
// System.out.println(reader.readLine());
} catch (IOException ex) {
// In case of an IOException the connection will be released
// back to the connection manager automatically
throw ex;
} catch (RuntimeException ex) {
// In case of an unexpected exception you may want to abort
// the HTTP request in order to shut down the underlying
// connection and release it back to the connection manager.
httpget.abort();
throw ex;
} finally {
// Closing the input stream will trigger connection release
instream.close();
}
// When HttpClient instance is no longer needed,
// shut down the connection manager to ensure
// immediate deallocation of all system resources
httpclient.getConnectionManager().shutdown();
}
}
}
分享到:
相关推荐
这个小例子中提供的项目源码应该包含了上述操作的示例代码,你可以直接导入并运行,以了解HttpClient的具体使用。通过学习和实践,你将能熟练掌握HttpClient在实际项目中的应用,如进行网页抓取、API调用等任务。
这个例子展示了HttpClient库进行POST请求的基本流程。实际应用中,你可能需要根据具体需求调整请求头、处理重定向、超时设置、错误处理等。了解这些知识点有助于编写更健壮、高效的网络请求代码。 通过`java_...
下面是一个POST请求的例子: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("http://example.com"); List<NameValuePair> params = new ArrayList(); ...
在本示例中,我们将深入探讨如何使用HttpClient进行POST和GET请求,以及如何设置代理。 首先,HttpClient的核心类是`CloseableHttpClient`,它是HTTP客户端的实现,负责创建和管理HTTP连接。为了发起请求,我们需要...
**HTTPClient4简介** HTTPClient4是Apache基金会开发的一个Java库,用于执行HTTP请求并处理响应。这个库提供了丰富的功能,包括支持HTTP/1.1协议、连接管理、重定向处理、请求和响应的编码与解码、以及支持HTTPS等...
由于Android API 23及更高版本中移除了HttpClient,因此,对于这些版本的Android项目,你需要将HttpClient的jar文件(通常为`httpclient-4.x.x.jar`和`httpcore-4.x.x.jar`)添加到项目的libs目录下,并在构建路径中...
在"Httpclient+testng接口测试小例子"中,我们将使用以下步骤进行接口测试: 1. **环境准备**:首先,确保项目中已经添加了Apache HttpClient和TestNG的依赖。这些通常通过Maven或Gradle等构建工具进行管理,通过在...
在这个"httpclient 开发包以及例子"中,我们主要关注的是HttpClient 4.0-alpha2版本,以及与其相关的依赖库。 `httpclient-4.0-alpha2.jar`是HttpClient的核心库,包含了执行HTTP请求、处理响应和管理连接的主要类...
三、GET和POST例子 1. GET请求: ```java HttpGet request = new HttpGet("http://example.com/api/data"); CloseableHttpResponse response = httpClient.execute(request); // 处理响应... ``` 2. POST请求...
HttpClient是Apache基金会开发...这个小例子虽然简单,但它揭示了HttpClient的基本用法,足以让新手快速入门。通过深入学习和实践,你可以掌握HttpClient的更多高级特性和最佳实践,从而在处理网络请求时更加得心应手。
##### 4. 检查状态码 执行完`executeMethod`后,我们检查返回的状态码,以判断请求是否成功。 ```java if (statusCode != HttpStatus.SC_OK) { System.err.println("Method failed: " + getMethod.getStatusLine...
接下来,我们将深入探讨HTTPClient库,它的用法,以及POST和GET方法的基本概念。 HTTPClient是Apache软件基金会的 HttpClient项目提供的一个开源库,它是Java平台上的一个HTTP客户端实现。这个库提供了丰富的功能,...
在这个例子中,我们创建了一个HttpClient实例,然后发起一个GET请求到`http://example.com`,并打印出响应状态行和响应体内容。注意,每次操作完成后,都需要关闭响应和HttpClient实例以释放资源。 HttpClient还...
下面我们将深入探讨Android中使用HttpClient的例子及其相关知识点。 1. **HttpClient的基本概念** HttpClient是一个基于Java语言的HTTP客户端编程工具包,它提供了丰富的API,可以方便地创建、发送和处理HTTP请求...
在这个例子中,我们有一个基于HttpClient的身份证信息查询示例,它通过身份证号码调用必应接口来获取个人信息。 首先,你需要将提供的JAR包添加到你的项目类路径(ClassPath)中。这个JAR包可能包含了HttpClient库...
1. **创建HttpClient实例**:使用`HttpClientBuilder`或`HttpClients`静态工厂方法创建一个HttpClient实例。 ```java HttpClient httpClient = HttpClients.createDefault(); ``` 2. **构建HttpRequest**:...
在这个小例子中,我们将专注于客户端代码,因为标题提示没有包含服务器端的部分。HttpClient 可以用来进行GET、POST和其他HTTP方法的操作,同时提供了丰富的功能,如设置请求头、处理响应、管理连接等。 在Java中...
本篇将重点介绍HttpClient4的基础用法,特别是如何通过匿名代理来访问网页。 首先,让我们了解什么是HTTP代理。在互联网通信中,代理服务器充当了客户端与目标服务器之间的中介,可以用于匿名访问、负载均衡、缓存...
可以用作测试例子 测试流传输的接口需要用到,HTTPClient,jar包