`
redstarofsleep
  • 浏览: 443544 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

HttpClient的基础应用

    博客分类:
  • Java
阅读更多

HttpClient是用来发送HTTP请求的,也就是HTTP的客户端。任何HTTP请求都可以由它模拟出来。

 

1.发送GET请求:

                HttpClient httpClient = new DefaultHttpClient();
                // 初始化GET请求
                HttpGet get = new HttpGet("http://localhost:8080");
                // 执行GET请求
                HttpResponse response = httpClient.execute(get);
                // 获取请求返回的数据
		HttpEntity entity = response.getEntity();
		if (entity != null) {
			entity = new BufferedHttpEntity(entity);
			InputStream in = entity.getContent();
			byte[] read = new byte[1024];
			byte[] all = new byte[0];
			int num;
			while ((num = in.read(read)) > 0) {
				byte[] temp = new byte[all.length + num];
				System.arraycopy(all, 0, temp, 0, all.length);
				System.arraycopy(read, 0, temp, all.length, num);
				all = temp;
			}
			System.out.println(new String(all));
			in.close();
		}
                // 一次GET请求结束
		get.abort();

 

2.发送POST请求

HttpClient httpClient = new DefaultHttpClient();
HttpPost get = new HttpPost("http://localhost:8080/xxxxxx");
//创建表单参数列表  
List<NameValuePair> qparams = new ArrayList<NameValuePair>(); 
// 添加参数
qparams.add(new BasicNameValuePair("id", "5"));
//填充表单  
get.setEntity(new UrlEncodedFormEntity(qparams,"UTF-8"));
// 执行POST请求
HttpResponse response = httpClient.execute(get);
HttpEntity entity = response.getEntity();
// ......
// 接下来就与GET一样了

 

3.自己封装请求的输入流

HttpClient httpClient = new DefaultHttpClient();
// 封装输入流
ContentProducer cp = new ContentProducer() {
	public void writeTo(OutputStream outstream) throws IOException {
		Writer writer = new OutputStreamWriter(outstream, "UTF-8");
		writer.write("write the stream by myself");
		writer.flush();
	}
};
HttpEntity requestEntity = new EntityTemplate(cp);
HttpPost httppost = new HttpPost("http://localhost:8080/xxx");
httppost.setEntity(requestEntity);
HttpResponse response = httpClient.execute(httppost);
HttpEntity entity = response.getEntity();
// 接下来与GET/POST一样了。
2
2
分享到:
评论

相关推荐

    apache-httpclient应用所有jar

    **HttpClient 使用基础** 要使用HttpClient,首先需要在项目中引入对应的jar包。在这个压缩包中,"apache-httpclient"包含了HttpClient所需的所有依赖。以下是一些基本的使用步骤: 1. **创建HttpClient实例**: ...

    HttpClient请求之基础

    HttpClient库广泛应用于需要与Web服务器进行交互的Java应用中,包括发送GET和POST请求等基本操作。 ### GET请求 GET请求是最常见的HTTP请求方法,用于从服务器获取资源。使用HttpClient发起GET请求的步骤如下: 1....

    如何在WPF应用程序中通过HttpClient调用Web API

    本教程将深入探讨如何利用HttpClient类在WPF应用中异步调用Web API,确保不阻塞主线程,提供流畅的用户体验。 HttpClient是一个强大的工具,用于发送HTTP请求并接收响应。在WPF应用中,我们可以使用异步编程技术,...

    httpclient4.5.5所有包

    《HttpClient 4.5.5:全面解析与应用实践》 HttpClient 是 Apache 开源基金会提供的一款强大而灵活的 Java 客户端 HTTP 实现库,主要用于处理 HTTP 协议的请求和响应。HttpClient 4.5.5 版本是其系列中的一个重要...

    Java HttpClient 全部的jar包

    Java HttpClient 是一个强大的HTTP客户端库,它允许Java开发者在应用程序中发送HTTP请求并接收响应,广泛应用于Web服务的调用、API接口测试以及自动化脚本等场景。在Java项目中,使用HttpClient可以实现与Web服务器...

    httpclient4.5源码学习

    5. **HTTP/2 支持**:虽然不是 HttpClient 4.5 的主要目标,但为后续版本的 HTTP/2 支持奠定了基础。 三、HttpClient 4.5 源码解析 1. **执行流程**:从 `HttpClient.execute()` 方法开始,通过 `...

    httpclient

    同时,HttpClient依赖于HttpCore库,这是Apache提供的基础HTTP协议处理组件,httpcore-4.4.1.jar即为该组件的4.4.1版本,提供了HTTP连接管理、请求/响应模型等核心功能。 **一、HttpClient基本概念** 1. **...

    httpclient4.0-jar

    《HttpClient 4.0:Java中的HTTP客户端库详解》 HttpClient是Apache软件基金会下的一个开源项目,主要用于处理HTTP协议的客户端编程...了解并熟练掌握HttpClient的使用,对于提升Java应用的网络通信效率具有重要意义。

    httpClienthttpClient

    HttpClient是Apache软件基金...HttpClient库广泛应用于Java开发,无论是简单的HTTP请求还是复杂的Web服务交互,都能提供强大的支持。在使用过程中,注意根据项目需求进行适当的配置和优化,以确保最佳的性能和可靠性。

    httpclient4.4.1 and httpclient4.5.3.rar

    本文将围绕HttpClient 4.4.1和4.5.3这两个版本,深入探讨它们的特性和改进,以帮助开发者更好地理解和应用这个强大的工具。 1. HttpClient 4.4.1 HttpClient 4.4.1是HttpClient系列的一个稳定版本,它主要关注性能...

    httpclient4.3中文教程

    它是一个低级别的库,主要用于网络通信,为开发者提供了构建 HTTP 客户端应用程序的基础。由于其强大的功能和灵活性,HttpClient 在许多企业级应用和 Web 服务客户端中被广泛使用。 HttpClient 4.3 版本可能包括对 ...

    httpclient4.1.2.zip

    HttpClient 4.1.2是Apache HttpClient的一个稳定版本,它在前一版本的基础上进行了优化和增强,为开发者提供了更加高效、可靠的网络请求处理能力。 HttpClient 4.1.2的核心在于其对HTTP协议的全面支持,包括基本的...

    httpClient4.1入门教程.pdf

    在基础知识方面,文档首先讲解了环境的准备,包括下载HttpClient包并将其导入到工程中的具体步骤。随后介绍了几个主要的类,例如HttpClient类、HttpEntity类、HttpConnection类等,这些类分别承担着HTTP客户端实例化...

    使用HttpClient必须的jar包

    2. **HttpCore库**:`httpcore-x.x.x.jar`是HttpClient的基础组件,提供HTTP协议的基本操作,如连接管理、请求/响应处理等。HttpClient依赖HttpCore来处理底层的网络通信。 3. **HTTP协议支持**:HttpClient支持...

    apache httpclient jar包

    - 虽然HttpClient 4.2.5主要针对HTTP/1.1,但已经开始为HTTP/2做准备,提供了一些基础支持。 10. **性能优化**: - 使用预连接(pre-emptive authentication)和连接池来减少延迟,提高响应速度。 - 使用压缩...

    httpclient所需lib

    HttpClient是Apache基金会开发的一个开源HTTP客户端库,广泛应用于Java编程领域,用于执行HTTP请求和处理响应。标题“httpclient所需lib”表明我们关注的是HttpClient库及其相关的依赖库。在本篇文章中,我们将深入...

    commons-httpclient-3.0.jar JAVA中使用HttpClient可以用到

    1. **HttpClient对象**:HttpClient是所有操作的基础,它代表一个HTTP客户端,可以配置连接管理器、请求执行器等组件。 2. **HttpMethod**:HttpClient提供了多种HttpMethod子类,如GetMethod、PostMethod等,分别...

    HttpClient4基础1--通过匿名代理访问网页

    本篇将重点介绍HttpClient4的基础用法,特别是如何通过匿名代理来访问网页。 首先,让我们了解什么是HTTP代理。在互联网通信中,代理服务器充当了客户端与目标服务器之间的中介,可以用于匿名访问、负载均衡、缓存...

    httpclient-4.5.3 api 中文版

    2. **请求与响应**:HttpClient 使用`HttpRequestBase`作为所有HTTP请求的基础类,如`HttpGet`, `HttpPost`等。这些类提供了设置请求方法、URL、头部、实体内容的方法。响应则由`HttpResponse`表示,包含了状态码、...

    httpclient4.4 jar包

    2. `HttpCore`:这是HttpClient的基础组件,负责网络I/O操作,如TCP连接管理和数据传输。HttpCore提供了低级别的API,为HttpClient提供了高效的连接管理和请求处理能力。 3. `Fluent API`:这是一个增强的接口,...

Global site tag (gtag.js) - Google Analytics