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包
httpclient4.0包,希望对大家有用,开发java的可以用到。httpclient4.0
其中有4.1.1jar包、httpclient说明文档doc格式、简单使用例子post\get方式都有,导入类可用。项目中使用很方便!
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源文件,httpclient4.0源文件,httpclient4.0源文件
httpclient-4.0.jar, httpclient-4.0.jar, httpclient-4.0.jar
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
新浪自动发博文的错误解决方法: "code":"B06001","data":null,"ycon_length":null,"jcon_length":null}
网上找的,共同分享! HttpClient4.0.3 Tutorial中文翻译!
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
try(CloseableHttpClient httpClient = HttpClients.createDefault()) { HttpPost httpPost = new HttpPost(url); StringEntity stringEntity = new StringEntity(params, Charset.forName("UTF-8")); ...
NULL 博文链接:https://yhz61010.iteye.com/blog/868036
NULL 博文链接:https://yhz61010.iteye.com/blog/654678
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,...本文首先介绍 HTTPClient,然后根据作者实际工作经验给出了一些常见问题的解决方法。
HttpClient相关jar包 博文链接:https://roomy.iteye.com/blog/681825
其中包含项目post-demo定义接口;包含另一个项目httpclient-demo使用工具类发送post请求调用接口。详细内容查看博客 httpclient发送post请求
myeclipse项目全部文件 博文链接:https://hujin.iteye.com/blog/162502
HttpClient-4.0.1 官方教程,包含HttpClient-4.0.1的基本用法,讲解清晰,格式为PDF