HttpClient最新版本的应用:HttpClient4.0、HttpCore4.0的基础
。这个版本与以前的版本接口方法有一定的接口
现在Apache已经发布了:HttpCore 4.0-beta3、HttpClient 4.0-beta1。
到此处可以去下载这些源代码:http://hc.apache.org/downloads.cgi
另外,还需要apache-mime4j-0.5.jar包。
package test;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.params.CookiePolicy;
import org.apache.http.client.params.ClientPNames;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
public class Test2 {
public static void main(String[] args) throws Exception {
DefaultHttpClient httpclient = new DefaultHttpClient(); //实例化一个HttpClient
HttpResponse response = null;
HttpEntity entity = null;
httpclient.getParams().setParameter(
ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY); //设置cookie的兼容性
HttpPost httpost = new HttpPost("http://127.0.0.1:8080/pub/jsp/getInfo
"); //引号中的参数是:servlet的地址
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("jqm", "fb1f7cbdaf2bf0a9cb5d43736492640e0c4c0cd0232da9de"));
// BasicNameValuePair("name", "value"), name是post方法里的属性, value是传入的参数值
nvps.add(new BasicNameValuePair("sqm", "1bb5b5b45915c8"));
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); //将参数传入post方法中
response = httpclient.execute(httpost); //执行
entity = response.getEntity(); //返回服务器响应
try{
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine()); //服务器返回状态
Header[] headers = response.getAllHeaders(); //返回的HTTP头信息
for (int i=0; i<headers.length; i++) {
System.out.println(headers[i]);
}
System.out.println("----------------------------------------");
String responseString = null;
if (response.getEntity() != null) {
responseString = EntityUtils.toString(response.getEntity()); / /返回服务器响应的HTML代码
System.out.println(responseString); //打印出服务器响应的HTML代码
}
} finally {
if (entity != null)
entity.consumeContent(); // release connection gracefully
}
System.out.println("Login form get: " + response.getStatusLine());
if (entity != null) {
entity.consumeContent();
分享到:
相关推荐
此外,HttpClient 4.0还支持异步操作,通过非阻塞I/O(NIO)模式,能够更好地利用系统资源,提高应用程序的响应速度。 在使用HttpClient时,首先需要在项目中引入相关的jar包。在这里,我们有三个关键的jar文件: ...
本篇文章将详细介绍HTTPClient 4.0的使用方法,包括其核心概念、基本操作和示例代码。 一、核心概念 1. HttpClient实例:HttpClient对象是执行HTTP请求的核心,负责建立连接、发送请求和接收响应。通过`...
总的来说,HttpClient 4.0源码的深度学习,有助于我们理解HTTP通信的底层原理,提升网络编程技能,为构建高效、可靠的网络应用打下坚实基础。通过阅读和分析源码,我们可以更好地定制和优化HttpClient的行为,以适应...
在使用 HttpClient 之前,需要进行基本的配置。首先,导入必要的依赖库: ```xml <groupId>org.apache.httpcomponents <artifactId>httpclient <version>4.5.x ``` 接着,创建 HttpClient 实例: ```java ...
在实际开发中,我们需要以下步骤来使用HttpClient-4.0-alpha2: 1. 创建HttpClient实例:根据项目需求,可以设置连接池、超时时间、重试策略等。 ```java CloseableHttpClient httpClient = HttpClients.create...
5. **认证和安全**:HttpClient 支持多种认证机制,包括基本认证、摘要认证、NTLM等,并且可以与SSL/TLS协议无缝集成,确保数据传输的安全性。 6. **请求和响应处理**:HttpClient 提供了丰富的RequestBuilder和...
HttpClient是Apache基金会下的一个...在学习和使用HttpClient时,结合提供的示例代码,将有助于深入理解这些概念并实际应用到项目中。同时,不断关注Apache HttpClient的更新,以便利用新版本带来的性能提升和新特性。
在实际应用中,可以通过导入Apache HttpClient的相应版本的JAR文件,如压缩包中的`commons-httpclient-3.0.1.jar`和`httpcomponents-client-4.1.2.jar`,来引入HttpClient的功能。 综上所述,HttpClient是Java开发...
压缩包中的`httpclient-4.0-alpha2.jar`文件包含了HttpClient库的所有类和方法,而`examples`文件可能包含了一些使用HttpClient的示例代码,帮助开发者更好地理解和使用这个库。通过这些示例,你可以学习如何构建...
首先,了解HttpClient的基本使用。HttpClient是一个灵活且强大的HTTP客户端API,它允许开发者执行各种HTTP方法(如GET、POST等),处理响应,以及管理连接池。要创建一个简单的HttpClient实例,你需要以下步骤: 1....
本文将深入探讨HTTPCore 4.0与HttpClient的关系及其在实际应用中的使用。 一、HTTPCore 4.0的核心特性 1. **连接管理**:HTTPCore 4.0引入了连接池的概念,允许复用HTTP连接,减少了建立新连接的开销,提高了性能...
首先,我们需要了解HttpClient 4的基本用法。HttpClient 4依赖于几个关键的组件,包括`httpclient-4.0.jar`(核心客户端库)、`httpcore-nio-4.0.1.jar`和`httpcore-4.0.1.jar`(HTTP协议处理库),`commons-logging...
1. **Activity和Fragment**:在Android 4.0中,`Activity`是应用的基本单元,而`Fragment`用于构建多屏和动态布局。浏览器的界面由多个`Fragment`组成,如地址栏、书签、历史记录等。这些`Fragment`的实现和交互逻辑...
4. 使用Apache HttpClient:尽管Android 4.0中HttpURLConnection足以满足基本的网络请求需要,但一些开发者可能还会选择使用第三方库,比如Apache HttpClient,它提供了更多灵活的网络请求方式和更强大的功能。...
在Android 4.0(Ice Cream Sandwich)系统中,网络编程是实现应用程序与远程服务器交互的重要部分。本章将深入探讨如何在Android平台上进行网络操作,包括基础的HTTP请求、数据传输、网络状态监听以及更高级的Socket...
HttpClient 4.0.1是HttpClient系列的一个稳定版本,它在4.0的基础上进行了优化和增强,提供了更好的性能和可靠性。此版本支持HTTP/1.1协议,并且兼容HTTP/1.0。HttpClient不仅能够处理基本的GET和POST请求,还支持...
### Angular 4.0从入门到实战打造股票管理网站 #### Angular 4.0简介 Angular是由Google维护...在整个过程中,不仅需要掌握Angular的基本用法,还需要了解如何使用各种工具和技术栈来提高开发效率和应用程序的质量。