`
TimerBin
  • 浏览: 360973 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HttpClient 4.0 post file and text

    博客分类:
  • JAVA
 
阅读更多

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) {
     ......
}

 

 

分享到:
评论

相关推荐

    httpclient4.0-jar

    首先,HttpClient 4.0的核心功能在于支持HTTP/1.1协议,包括GET、POST、PUT、DELETE等常见HTTP方法。它还支持HTTPS,确保数据传输的安全性。通过使用HttpClient,开发者可以轻松地发送HTTP请求,处理响应,实现与Web...

    httpclient4.0

    《HttpClient 4.0:Java 开发中的网络通信利器》 HttpClient 4.0 是一个由 Apache 软件基金会开发的 Java 库,专为处理 HTTP 协议而设计。这个版本在功能、性能和易用性上都有显著提升,是 Java 开发者进行网络通信...

    httpclient4.0 使用帮助、例子

    本篇文章将详细介绍HTTPClient 4.0的使用方法,包括其核心概念、基本操作和示例代码。 一、核心概念 1. HttpClient实例:HttpClient对象是执行HTTP请求的核心,负责建立连接、发送请求和接收响应。通过`...

    HttpClient 4.0的post()方法4个关键“头信息”设置

    在探讨HttpClient 4.0的`post()`方法中四个关键“头信息”的设置之前,我们首先需要理解HttpClient是什么以及它在Java开发中的作用。 ### HttpClient简介 HttpClient是Apache的一个开源项目,它为Java应用程序提供...

    Httpclient4.0和3.0及jsoup等相关jar包

    1.含有官方HttpClient4.0的jar包 2.有之前HttpClient3.0的jar包,就是import importorg.apache.commons.*; 3.包含jsoup,解析HTML的jar包 4.包含jcookie.jar及jtidy-r938.jar的jar包.

    httpclient4.0源文件

    《HttpClient 4.0源码解析》 HttpClient是一款由Apache软件基金会开发的开源HTTP客户端库,主要用于处理HTTP请求和响应。HttpClient 4.0版本是其一个重要里程碑,它提供了更加强大、灵活和稳定的网络通信功能。在这...

    httpclient-4.0.jar

    httpclient-4.0.jar, httpclient-4.0.jar, httpclient-4.0.jar

    基于Java + HTTPClient 4.0,采用MySQL存储爬取数据,支持多进程并发执行的新浪微博爬虫

    【作品名称】:基于Java + HTTPClient 4.0,采用MySQL存储爬取数据,支持多进程并发执行的新浪微博爬虫 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训...

    原创: httpclient 4.0 使用 - 访问开心网的各种组件 例子

    《HttpClient 4.0 使用详解:访问开心网组件实例》 HttpClient 是 Apache 开源基金会提供的一个 HTTP 客户端库,被广泛应用于 Java 开发中,用于执行 HTTP 请求。HttpClient 4.0 版本引入了许多改进和新特性,使得...

    HttpClient 4.0学习

    本篇将深入探讨HttpClient 4.0的主要功能、核心概念以及如何使用它。 1. **主要功能** HttpClient 4.0支持HTTP/1.1协议,并提供了多种功能,如: - 支持同步和异步请求 - 多种连接管理策略,如单一连接、多线程...

    Android升级后旧版本的httpclient4.0

    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-beta1.jar

    HttpClient 4.0中文教程

    ### HttpClient 4.0中文教程知识点总结 #### 一、HttpClient概述 **1.1 执行请求** - **HTTP请求**: HTTP请求包含了方法名称(GET、POST等)、URL以及必要的请求头信息。HttpClient允许开发者创建并发送这些请求...

    [原创] Java 天气预告 - htmlparser2.0 + httpclient4.0

    【Java天气预告】项目是基于htmlparser2.0和httpclient4.0这两个库实现的,主要用于抓取和解析网络上的天气信息。这个项目对于学习Java网络编程和HTML解析非常有帮助,它揭示了如何利用HTTP协议获取网页数据以及如何...

    commons-httpclient依赖包

    包括了httpclient的所有包,commons-httpclient3.0.jar,httpclient4.0.jar,commons-logging1.1.1.jar,commons-codec-1.3.jar等

    httpclient-4.0-beta2.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 打造基于http协议的网站分析器

    在实际开发中,我们需要以下步骤来使用HttpClient-4.0-alpha2: 1. 创建HttpClient实例:根据项目需求,可以设置连接池、超时时间、重试策略等。 ```java CloseableHttpClient httpClient = HttpClients.create...

    SpringBoot使用httpclient发送Post请求时

    try(CloseableHttpClient httpClient = HttpClients.createDefault()) { HttpPost httpPost = new HttpPost(url); StringEntity stringEntity = new StringEntity(params, Charset.forName("UTF-8")); ...

    httpclient发送post请求

    本篇文章将深入探讨如何使用HTTPClient发送POST请求,以及相关的项目结构和实现细节。 首先,"post-demo"项目定义了我们需要调用的接口。通常,这会是一个Web服务,可能是一个RESTful API,提供特定的功能或数据。...

Global site tag (gtag.js) - Google Analytics