Apache HttpClient之fluent API的使用
该方法为Apache HttpClient 4.5以上的版本支持,在官网有明确的说明。
对比以前的方式,其优点是代码更简洁,同时为线程安全的。仅举一个最简单的post栗子
JAR包信息:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.1</version>
</dependency>
package utils;
import com.alibaba.fastjson.JSONObject;
import org.apache.http.client.fluent.Request;
import org.apache.http.entity.ContentType;
import java.io.IOException;
/**
* Created with IntelliJ IDEA.
* Description:
* Http请求工具类
*
* @author
* Date: 2017-11-01
* Time: 10:24
*/
public class HttpClientUtil {
/**
* @return String
* 响应体
*/
public String jsonPostHttp(JSONObject jsonObject, String url) throws IOException {
String response = Request.Post(url).bodyString(jsonObject.toString(), ContentType.APPLICATION_JSON).execute().returnContent().asString();
System.out.println(response); // 将返回的内容打印出来便于调试
return response;
}
}
测试代码:
package utilsTest;
import com.alibaba.fastjson.JSONObject;
import org.junit.Test;
import utils.HttpClientUtil;
import java.io.File;
import java.io.IOException;
public class HttpClientUtilTest {
@Test
public void httpClientUtilTest(){
JSONObject jsonObject = new JSONObject();
// 根据业务需要,定义JSONObject所需的参数
jsonObject.put("appId", "1");
jsonObject.put("userName", "admin");
jsonObject.put("password", "111111");
HttpClientUtil httpClientUtil = new HttpClientUtil();
try {
httpClientUtil.jsonPostHttp(jsonObject,"http://localhost/manage/auth/login.do");
} catch (IOException e) {
e.printStackTrace();
}
}
Apache HttpClient之fluent API的使用的更多相关文章
- 基于apache httpclient 调用Face++ API
简要: 本文简要介绍使用Apache HttpClient工具调用旷世科技的Face API. 前期准备: 依赖包maven地址: <!-- https://mvnrepository.com/ ...
- HttpClient 之Fluent API 简单使用
相比于HttpClient 之前的版本,HttpClient 4.2 提供了一组基于流接口(fluent interface)概念的更易使用的API,即Fluent API. 为了方便使用,Fluen ...
- HttpClient Fluent API 高并发优化
apache的httpcomponents-client 4.2之后提供了一套易于使用的facade API称为Fluent API,对于一般使用场景来说,使用起来非常简便,且性能也有一定保证,因为其 ...
- 在android 6.0(API 23)中,Google已经移除了移除了Apache HttpClient相关的类
推荐使用HttpUrlConnection,如果要继续使用需要Apache HttpClient,需要在eclipse下libs里添加org.apache.http.legacy.jar,androi ...
- Httpclient Fluent API简单封装
import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List ...
- HttpClient4.2 Fluent API学习
相比于HttpClient 之前的版本号,HttpClient 4.2 提供了一组基于流接口(fluent interface)概念的更易使用的API,即Fluent API. 为了方便使用,Flue ...
- Apache HttpClient 5 使用详细教程
点赞再看,动力无限. 微信搜「程序猿阿朗 」. 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多知识点和系列文章. 超文本传输协议(HTTP)可能是当今 ...
- Apache HttpClient使用之阻塞陷阱
前言: 之前做个一个数据同步的定时程序. 其内部集成了某电商的SDK(简单的Apache Httpclient4.x封装)+Spring Quartz来实现. 原本以为简单轻松, 喝杯咖啡就高枕无忧的 ...
- Android 6.0删除Apache HttpClient相关类的解决方法
相应的官方文档如下: 上面文档的大致意思是,在Android 6.0(API 23)中,Google已经移除了Apache HttpClient相关的类,推荐使用HttpUrlConnection. ...
随机推荐
- 10.6 Comment Syntax
w https://dev.mysql.com/doc/refman/5.7/en/comments.html MySQL 5.7 Reference Manual / Language Stru ...
- ES5 Object.defineProperties / Object.defineProperty 的使用
临时笔记,稍后整理 var obj = { v: , render: function () { console.log(") } }; // Object.defineProperties ...
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_02 泛型_6_泛型通配符
泛型通配符是一个问号 也是代表不确定的意思 换成Object两个都报错了. 泛型是没有继承概念的,所以上面写Object就会报错.这里应问号 可以代表位置类型 it.next会自动用Object接收 ...
- 四种方法给Vmware虚拟机清理瘦身
随着VMware虚拟机使用时间的增长,其所占用的空间也越来越大,本文来说说怎么给VMware虚拟机占用的空间进行瘦身. **方法一:VMware自带的清理磁盘 **这个方法是VMware自带,具有普适 ...
- php扩展安装范例
php扩展安装: 安装bcmath: /usr/local/php/bin/phpize //指定路径 ./configure //可查找路径 ./configure --with-php-confi ...
- 5 centos 6.10 三节点安装apache hadoop 2.9.1
Hadoop 版本: apache hadoop 2.9.1JDK 版本: Oracle JDK1.8集群规划master(1): NN, RM, DN, NM, JHSslave1(2): DN, ...
- centos 7 lnmp环境编译安装zabbix-3.4.14
一.安装环境(zabbix3.0需要php在5.5版本以上) [root@localhost ~]# cat /etc/redhat-release CentOS Linux release (Cor ...
- hbase的API
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.had ...
- ES6标准入门 第二章:块级作用域 以及 let和const命令
一.块级作用域 1.为什么需要块级作用域? ES5中只有全局作用域和函数作用域,带来很多不合理的场景. (1)内层变量可能会覆盖外层变量: var tem = new Date(); function ...
- linux安装 redis(redis-3.0.2.tar.gz) 和 mongodb(mongodb-linux-x86_64-rhel62-4.0.0)
1:首先 要下载 这两个 压缩包 注意:liunx是否已经安装过 gcc没安装的话 先安装:yum install gcc-c++ 2:安装 redis:redis-3.0.2.tar.gz (1): ...