HttpClient是支持Http协议的客户端编程工具包。

一、简单使用

1.1 引入依赖


<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.5</version>
</dependency> <dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>

1.2 一个简单的Get请求


public static void main(String[] args) {
//创建HttpClient实例
CloseableHttpClient httpClient = HttpClients.createDefault();
//创建HttpGet实例
HttpGet httpGet = new HttpGet("http://www.baidu.com");
CloseableHttpResponse response = null;
//执行Get请求
try {
response = httpClient.execute(httpGet);
//获取实体
HttpEntity httpEntity = response.getEntity();
//解析实体
System.out.println(EntityUtils.toString(httpEntity,"utf-8"));
response.close();
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
} }

1.3 Post请求、请求头、请求参数

1.4 使用代理

1.5 设置超时时间

HttpClient内部有三个超时时间设置:连接池获取可用连接超时,连接超时,读取数据超时

先连接,后读取。

RequestConfig requestConfig = RequestConfig.custom()
//从连接池中获取连接的超时时间
.setConnectTimeout(5000)
//httpclient会创建一个异步线程用以创建socket连接,此处设置该socket的连接超时时间
.setConnectionRequestTimeout(1000)
//socket读数据超时时间:从服务器获取响应数据的超时时间
.setSocketTimeout(5000)
.build();
httpGet.setConfig(requestConfig);

参考文档

HttpClient源码解析系列:第二篇:极简版实现

HttpClient官网 Quick Start

参考视频

一头扎进HttpClient

HttpClient学习(一)—— 基本使用的更多相关文章

  1. HttpClient学习整理

    HttpClient简介HttpClient 功能介绍    1. 读取网页(HTTP/HTTPS)内容    2.使用POST方式提交数据(httpClient3)    3. 处理页面重定向    ...

  2. HttpClient 学习整理【转】

    转自 http://www.blogjava.net/Alpha/archive/2007/01/22/95216.html HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的 ...

  3. HttpClient 学习整理 (转)

    source:http://www.blogjava.net/Alpha/archive/2007/01/22/95216.html HttpClient 是我最近想研究的东西,以前想过的一些应用没能 ...

  4. httpclient 学习

    Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基 ...

  5. HttpClient学习之 客户端HTTP编程入门

    说明 本文存在的原因,是想深入的学习下HttpClient.对应的网址是: http://hc.apache.org/httpcomponents-client-4.5.x/primer.html h ...

  6. HttpClient学习(四)—— 关于Http

    一.Http状态码 状态码分类 100 ~ 199 信息提示 200 ~ 299 成功 300 ~ 399 重定向 400 ~ 499 客户端错误 500 ~ 599 服务端错误 常见状态码 200 ...

  7. httpclient学习

    httpclient入门:  http://www.ibm.com/developerworks/cn/opensource/os-httpclient/   httpclient证书导入:http: ...

  8. HTTPCLIENT 学习 (1) 入门

    早就如雷贯耳它的大名,却一直不曾相见,昨天下载下来,今天终于测试了一把,用的官网的QUICK START例子,来访问我自己以前开发过的WEB程序,因为这个网站恰好有一个写好的通过POST请求验证用户名 ...

  9. HttpClient学习--HttpClient的POST请求过程源码解读

    众所周知,HttpClient是对JDK net包下网络相关操作的一个封装,所以阅读的前提待知道HttpClient底层肯定是通过Socket来进行网络通信的. 下面来简单的捋一下代码,在进入繁杂.深 ...

  10. Java接口自动化测试之HTTPClient学习(四)

    pom.xml  文件中dependency <dependencies> <dependency> <groupId>org.testng</groupId ...

随机推荐

  1. VBA Excel对象(十九)

    使用VBA进行编程时,用户将要处理的重要对象很少.下面是一些常见的对象 - 应用程序对象 工作簿对象 工作表对象 范围对象 应用程序对象 应用程序对象由以下部分组成 - 应用程序范围的设置和选项. 返 ...

  2. 【转载】Sqlserver使用Group By进行分组并计算每个组的数量

    在SQL语句查询中,Group By语句时常用来进行分组操作,有时候在分组的同时还需要计算出每个组的数量多少.在Sqlserver数据库中可以使用Group By加Count聚合函数来实现此功能,即通 ...

  3. vue滚动分页加载以及监听事件处理

    <template> <div class="bodyContainer"> <div class="allContent" id ...

  4. PLSQL登录的时候Warning提示:Using a filter for all users can lead to poor performance!

    转自: https://blog.csdn.net/athena2015/article/details/81811908

  5. SAP云平台上的ABAP编程环境里如何消费第三方服务

    在ABAP On-Premises环境下,使用ABAP编程消费第三方服务,相信很多ABAP顾问都已经非常熟悉了,无非就是使用CL_HTTP_CLIENT或者CL_REST_HTTP_CLIENT来发送 ...

  6. HBase分布式搭建常见错误

    [root@node001 bin]# hbase shell SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found bin ...

  7. 某阅读多word整理自动化脚本

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/101055192 - 写在前面 最近想练习英语,发现电脑磁盘 ...

  8. DataTable通过Select进行过滤

    DataTable方法测试 //测试DataTable的select DataTable dt = new DataTable(); //a.OrderType, //a.[Status] dt.Co ...

  9. 通过getResourceAsStream方法获取项目下的指定资源

    properties配置文件调用 通过getResourceAsStream方法获取项目下的指定资源 一:获取src下的指定资源 1). Class.getResourceAsStream(Strin ...

  10. 个性化召回算法实践(一)——CF算法

    协同过滤推荐(Collaborative Filtering Recommendation)主要包括基于用户的协同过滤算法与基于物品的协同过滤算法. 下面,以movielens数据集为例,分别实践这两 ...