HttpClient 4.0 实例--简单工具类
一、基于Maven项目前期准备
1、所需jar包,本人使用的Maven项目,其中Pom.xml内容如下所示
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.3.4</version> </dependency>
其中4.3.4只是随意使用的一个版本(只要使用4.0以上版本即可),其中所依赖的
客户端代码:
package com.xxx.test; import java.io.File; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.entity.mime.content.StringBody; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.params.CoreConnectionPNames; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; public class HttpClientText { /** * HTTPCLIENT 4.0 POST 另外一种访问方式 */ @SuppressWarnings({ "deprecation", "resource" }) public static void postForm() { try { // 定义 httpclient链接 HttpClient httpclient = new DefaultHttpClient(); // Post 访问提交方式 HttpPost httppost = new HttpPost("URL 地址"); //HttpGet httpGet = new HttpGet("URL 地址"); // 设置请求参数信息request params信息 --- 参数集合信息 List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("参数名", "参数值")); // 将参数赋值到请求参数实体信息 ---并使用指定参数的编码格式 对参数转码 转义 httppost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); // 发起会话请求获取访问结果 HttpResponse response = httpclient.execute(httppost); //HttpResponse response = httpclient.execute(httpGet); // 读取请求返回结果 实体信息 HttpEntity entity = response.getEntity(); // 返回结果实体Body信息 String body = EntityUtils.toString(entity); System.err.println(body); } catch (Exception e) { e.printStackTrace(); } } /** * HTTPCLIENT 4.0 POST 带附件File请求 */ @SuppressWarnings({ "deprecation", "resource" }) public static void uploadFilePost() { try { // 定义 httpclient链接 HttpClient httpclient = new DefaultHttpClient(); // Post 访问提交方式 HttpPost httppost = new HttpPost("URL 地址"); // 设置请求超时时间 httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 50000); // 设置读取超时时间 httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 50000); // 设置请求参数信息request params信息 --- 参数生成器 MultipartEntityBuilder build = MultipartEntityBuilder.create(); // ContentType 指定参数编码格式、解析方式 包含多种格式 例如: "text/html", // Consts.ISO_8859_1 等 build.addPart("appid:参数名称", new StringBody("参数值", ContentType.DEFAULT_TEXT)); // 将文件流对象写入到请求request中 build.addBinaryBody("imageFile:参数名", new File("附件地址")); // 将参数赋值到请求参数实体信息 httppost.setEntity(build.build()); // 发起会话请求获取访问结果 HttpResponse response = httpclient.execute(httppost); // 读取请求返回结果 实体信息 HttpEntity entity = response.getEntity(); // 返回结果实体Body信息 String body = EntityUtils.toString(entity); System.err.println(body); } catch (Exception e) { e.printStackTrace(); } } }
基于SPRING MVC 实现的服务端代码,如下所示(仅给出包含File参数的服务端代码):
@RequestMapping(value = "xxx/upload_file", method = RequestMethod.POST) public String uploadFile(String appid, MultipartFile imageFile, Model model) { ...... }
相关推荐
首先,HttpClient 4.0的核心功能在于支持HTTP/1.1协议,包括GET、POST、PUT、DELETE等常见HTTP方法。它还支持HTTPS,确保数据传输的安全性。通过使用HttpClient,开发者可以轻松地发送HTTP请求,处理响应,实现与Web...
《HttpClient 4.0:Java 开发中的网络通信利器》 HttpClient 4.0 是一个由 Apache 软件基金会开发的 Java 库,专为处理 HTTP 协议而设计。这个版本在功能、性能和易用性上都有显著提升,是 Java 开发者进行网络通信...
本篇文章将详细介绍HTTPClient 4.0的使用方法,包括其核心概念、基本操作和示例代码。 一、核心概念 1. HttpClient实例:HttpClient对象是执行HTTP请求的核心,负责建立连接、发送请求和接收响应。通过`...
在探讨HttpClient 4.0的`post()`方法中四个关键“头信息”的设置之前,我们首先需要理解HttpClient是什么以及它在Java开发中的作用。 ### HttpClient简介 HttpClient是Apache的一个开源项目,它为Java应用程序提供...
1.含有官方HttpClient4.0的jar包 2.有之前HttpClient3.0的jar包,就是import importorg.apache.commons.*; 3.包含jsoup,解析HTML的jar包 4.包含jcookie.jar及jtidy-r938.jar的jar包.
《HttpClient 4.0源码解析》 HttpClient是一款由Apache软件基金会开发的开源HTTP客户端库,主要用于处理HTTP请求和响应。HttpClient 4.0版本是其一个重要里程碑,它提供了更加强大、灵活和稳定的网络通信功能。在这...
httpclient-4.0.jar, httpclient-4.0.jar, httpclient-4.0.jar
【作品名称】:基于Java + HTTPClient 4.0,采用MySQL存储爬取数据,支持多进程并发执行的新浪微博爬虫 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训...
《HttpClient 4.0 使用详解:访问开心网组件实例》 HttpClient 是 Apache 开源基金会提供的一个 HTTP 客户端库,被广泛应用于 Java 开发中,用于执行 HTTP 请求。HttpClient 4.0 版本引入了许多改进和新特性,使得...
本篇将深入探讨HttpClient 4.0的主要功能、核心概念以及如何使用它。 1. **主要功能** HttpClient 4.0支持HTTP/1.1协议,并提供了多种功能,如: - 支持同步和异步请求 - 多种连接管理策略,如单一连接、多线程...
Android升级后旧版本的httpclient4.0 apache-mime4j-0.6 commons-codec-1.4 commons-logging-1.1.1 httpclient-4.0.1 httpcore-4.0.1 httpmime-4.0.1
httpclient-4.0-beta1.jar
### HttpClient 4.0中文教程知识点总结 #### 一、HttpClient概述 **1.1 执行请求** - **HTTP请求**: HTTP请求包含了方法名称(GET、POST等)、URL以及必要的请求头信息。HttpClient允许开发者创建并发送这些请求...
【Java天气预告】项目是基于htmlparser2.0和httpclient4.0这两个库实现的,主要用于抓取和解析网络上的天气信息。这个项目对于学习Java网络编程和HTML解析非常有帮助,它揭示了如何利用HTTP协议获取网页数据以及如何...
包括了httpclient的所有包,commons-httpclient3.0.jar,httpclient4.0.jar,commons-logging1.1.1.jar,commons-codec-1.3.jar等
httpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jar
在实际开发中,我们需要以下步骤来使用HttpClient-4.0-alpha2: 1. 创建HttpClient实例:根据项目需求,可以设置连接池、超时时间、重试策略等。 ```java CloseableHttpClient httpClient = HttpClients.create...
try(CloseableHttpClient httpClient = HttpClients.createDefault()) { HttpPost httpPost = new HttpPost(url); StringEntity stringEntity = new StringEntity(params, Charset.forName("UTF-8")); ...
本篇文章将深入探讨如何使用HTTPClient发送POST请求,以及相关的项目结构和实现细节。 首先,"post-demo"项目定义了我们需要调用的接口。通常,这会是一个Web服务,可能是一个RESTful API,提供特定的功能或数据。...