HttpComponents (http 客户端) 常用类简介
来源:互联网 发布:linux命令怎么改时区 编辑:程序博客网 时间:2024/05/06 02:19
http://hc.apache.org/
阿帕奇的开源项目。用于Http通信。
<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.1</version></dependency>
1.client
org.apache.http.client.HttpClient
接口。
CloseableHttpClient org.apache.http.impl.client.HttpClients.createDefault()
此方法可以拿到HttpClient对象。它是线程安全的。
接口。
CloseableHttpClient org.apache.http.impl.client.HttpClients.createDefault()
此方法可以拿到HttpClient对象。它是线程安全的。
2.request
org.apache.http.HttpRequest
接口。实现类有HttpGet、HttpPost等。
org.apache.http.client.methods.HttpUriRequest
继承了HttpRequest接口的接口。
void org.apache.http.message.AbstractHttpMessage.addHeader(String name, String value)
添加请求的头部信息。
接口。实现类有HttpGet、HttpPost等。
org.apache.http.client.methods.HttpUriRequest
继承了HttpRequest接口的接口。
void org.apache.http.message.AbstractHttpMessage.addHeader(String name, String value)
添加请求的头部信息。
org.apache.http.client.methods.HttpGet
代表HttpGet请求。
org.apache.http.client.methods.HttpPost
代表HttpPost请求。
代表HttpGet请求。
org.apache.http.client.methods.HttpPost
代表HttpPost请求。
2.1 get请求
org.apache.http.client.methods.HttpGet.HttpGet(String uri)HttpGet请求的构造函数。
2.2 post请求
org.apache.http.client.methods.HttpPost.HttpPost(String uri)HttpPost请求的构造函数。
org.apache.http.entity.StringEntity.StringEntity(String string)
http报文body的格式是字符串。用于构造json、xml类post请求。
3.设置参数
Builder org.apache.http.client.config.RequestConfig.custom()
拿到builder。
Builder org.apache.http.client.config.RequestConfig.Builder.setSocketTimeout(int socketTimeout)
设置socket链接超时。
Builder org.apache.http.client.config.RequestConfig.Builder.setConnectionTimeout(int connectionRequestTimeout)
设置http连接超时。socket超时是http超时的充分不必要条件。
Builder org.apache.http.client.config.RequestConfig.Builder.setConnectionRequestTimeout(int connectionRequestTimeout)
设置请求发出前的超时时间。适用于用连接池,连接池占满的情况。
RequestConfig org.apache.http.client.config.RequestConfig.Builder.build()
至此拿到了RequestConfig 对象。
void org.apache.http.client.methods.HttpRequestBase.setConfig(RequestConfigconfig)
设置连接超时等在内的参数。RequestConfig对象的生成见下行。
设置连接超时等在内的参数。RequestConfig对象的生成见下行。
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(2000).build();
4.execute
CloseableHttpResponse org.apache.http.impl.client.CloseableHttpClient.execute(HttpUriRequest request)
执行请求并返回结果,是同步函数,需要等待。
执行请求并返回结果,是同步函数,需要等待。
5.response
org.apache.http.client.methods.CloseableHttpResponse
接口。
StatusLine org.apache.http.HttpResponse.getStatusLine()
获取状态栏。
HttpEntity org.apache.http.HttpResponse.getEntity()
获取消息实体。
InputStream org.apache.http.HttpEntity.getContent()
获取内容。如果是文本数据,通常这样来拿。
调用HttpEntity.getContent()就得到了InputStream,此方法用于把流消费完,然后关掉这个InputStream。
接口。
StatusLine org.apache.http.HttpResponse.getStatusLine()
获取状态栏。
HttpEntity org.apache.http.HttpResponse.getEntity()
获取消息实体。
InputStream org.apache.http.HttpEntity.getContent()
获取内容。如果是文本数据,通常这样来拿。
Scanner scanner = new Scanner(instream, "utf-8");void org.apache.http.util.EntityUtils.consume(HttpEntity entity)
调用HttpEntity.getContent()就得到了InputStream,此方法用于把流消费完,然后关掉这个InputStream。
6.代码
1 0
- HttpComponents (http 客户端) 常用类简介
- HttpComponents 之客户端连接池
- HttpComponents
- HttpComponents —— HTTP请求(HttpRequest)
- HttpComponents —— HTTP响应(HttpResponse)
- HttpComponents —— HTTP实体(HttpEntity)
- httpcomponents之httpclient发送http请求
- HttpComponents —— HTTP上下文环境(HttpContext)
- HttpClient发送http请求(apache httpcomponents包)
- HTTP 协议中常用方法简介
- Tomcat服务器常用配置和HTTP简介
- Tomcat服务器常用配置和HTTP简介
- HTTP客户端操作工具类
- VC开发OPC客户端常用函数简介(一)
- VC开发OPC客户端常用函数简介(二)
- 常用 Lua 开发库 1-redis、mysql、http 客户端
- 常用Lua开发库redis、mysql、http客户端
- 常用类库简介
- Python学习06--多线程之线程同步、通信
- linux常用命令的的常见用法(持续更新中......)
- PHP连接池的问题 & 负载均衡
- OJ刷题之统计出其中英文字母,数字,空格和其他字符的个数
- Eclipse中集成Maven的步骤和注意事项
- HttpComponents (http 客户端) 常用类简介
- 各大网站架构总结笔记
- 车库咖啡·员工谈话·.Net架构招聘
- 工作周报026
- asp.net TextBox控件绑定的值只能显示货币值Ddecimal,并且显示货币样式
- js回调函数(callback)
- HDOJ_2035 人见人爱A^B
- 杭电2034——人见人爱A-B
- String、Stringbuffer、StringBuilder区别