HttpClient学习(一)—— 基本使用
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学习整理
HttpClient简介HttpClient 功能介绍 1. 读取网页(HTTP/HTTPS)内容 2.使用POST方式提交数据(httpClient3) 3. 处理页面重定向 ...
- HttpClient 学习整理【转】
转自 http://www.blogjava.net/Alpha/archive/2007/01/22/95216.html HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的 ...
- HttpClient 学习整理 (转)
source:http://www.blogjava.net/Alpha/archive/2007/01/22/95216.html HttpClient 是我最近想研究的东西,以前想过的一些应用没能 ...
- httpclient 学习
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基 ...
- HttpClient学习之 客户端HTTP编程入门
说明 本文存在的原因,是想深入的学习下HttpClient.对应的网址是: http://hc.apache.org/httpcomponents-client-4.5.x/primer.html h ...
- HttpClient学习(四)—— 关于Http
一.Http状态码 状态码分类 100 ~ 199 信息提示 200 ~ 299 成功 300 ~ 399 重定向 400 ~ 499 客户端错误 500 ~ 599 服务端错误 常见状态码 200 ...
- httpclient学习
httpclient入门: http://www.ibm.com/developerworks/cn/opensource/os-httpclient/ httpclient证书导入:http: ...
- HTTPCLIENT 学习 (1) 入门
早就如雷贯耳它的大名,却一直不曾相见,昨天下载下来,今天终于测试了一把,用的官网的QUICK START例子,来访问我自己以前开发过的WEB程序,因为这个网站恰好有一个写好的通过POST请求验证用户名 ...
- HttpClient学习--HttpClient的POST请求过程源码解读
众所周知,HttpClient是对JDK net包下网络相关操作的一个封装,所以阅读的前提待知道HttpClient底层肯定是通过Socket来进行网络通信的. 下面来简单的捋一下代码,在进入繁杂.深 ...
- Java接口自动化测试之HTTPClient学习(四)
pom.xml 文件中dependency <dependencies> <dependency> <groupId>org.testng</groupId ...
随机推荐
- 用scrapy爬取京东商城的商品信息
软件环境: gevent (1.2.2) greenlet (0.4.12) lxml (4.1.1) pymongo (3.6.0) pyOpenSSL (17.5.0) requests (2.1 ...
- java利用反射打印出类的结构
1 输入一个类名:java.lang.String将打印出String类定义的结构,例如: public final class java.lang.String { public java.lang ...
- 如何通过wlst部署应用程序到weblogic12c上
适用版本 Oracle WebLogic Server - Version 10.3 and laterInformation in this document applies to any plat ...
- Django之模型层2
多表操作 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对 ...
- Sublime Text 解决 Unable to download XXX 问题
Sublime Text 安装插件报错: Package Control Unable to download XXX. Please view the console for more detail ...
- CMake---基础练习1
因为卡在一个问题上,几经排除应该可能是CMakeLists.txt写的不正确,但是又生成了可执行文件,运行可执行文件报错.多方排除,应该是CMakeLists.txt加载动态库的时候,函数加载的不全. ...
- MyBatis3-topic-01 -安装/下载/官方文档 -执行输入一条已经映射的sql语句
mybatis XML 映射配置文件 (官方文档) -对象工厂(objectFactory) -配置环境(environments) -映射器(mappers) 本地IDEA搭建/测试步骤 创建数据库 ...
- 实践论:github搜索源码内容
github搜索源码内容 github搜索源码内容 github搜索源码内容
- 命令检测站点是否使用CDN加速
在CMD 输入 nslookup 域名 例如:nslookup www.baidu.com有CDN的示例Server: cache3-gzAddress: 211.98.4.1Non ...
- 17 webpack中babel的配置——静态属性与实例属性
// class关键字,是ES6中提供的新语法,是用来实现ES6中面向对象编程的方式 class Person{ // 使用static关键字,可以定义静态属性 // 所谓的静态属性,就是可以直接通过 ...