Apache HttpClient 4.3开发指南
来源:互联网 发布:菊花插件dbm 导入数据 编辑:程序博客网 时间:2024/06/08 13:13
《Apache HttpClient 4.3开发指南》
原文地址:http://blog.csdn.net/chszs/article/details/16854747
一、概述
Apache HttpClient 4系列已经发布很久了,但由于它与HttpClient 3.x版本完全不兼容,以至于业内采用此库的公司较少,在互联网上也少有相关的文档资料分享。
本文旨在写一个简要的Apache HttpClient 4.3开发指南,帮助开发者快速上手Apache HttpClient 4.3.x库。
要注意的是,本文档中的代码在低于HttpClient 4.3版本的地方可能不能运行。
二、开发手册
1、创建HTTP客户端
CloseableHttpClient client = HttpClientBuilder.create().build();2、发送基本的GET请求
instance.execute(new HttpGet(“http://www.baidu.com”));
3、获取HTTP响应的状态码
String url = “http://www.baidu.com”; CloseableHttpResponse response = instance.execute(new HttpGet(url)); assertThat(response.getStatusLine().getStatusCode(), equalTo(200));4、获取响应的媒体类型
String url = “http://www.baidu.com”; CloseableHttpResponse response = instance.execute(new HttpGet(url)); String contentMimeType = ContentType.getOrDefault(response.getEntity()).getMimeType(); assertThat(contentMimeType, equalTo(ContentType.TEXT_HTML.getMimeType()));
5、获取响应的BODY部分
String url = “http://www.baidu.com”; CloseableHttpResponse response = instance.execute(new HttpGet(url)); String bodyAsString = EntityUtils.toString(response.getEntity()); assertThat(bodyAsString, notNullValue());
6、配置请求的超时设置
RequestConfig requestConfig = RequestConfig.custom() .setConnectionRequestTimeout(50).setConnectTimeout(50) .setSocketTimeout(50).build(); HttpGet request = new HttpGet(SAMPLE_URL); request.setConfig(requestConfig); instance.execute(request);7、发送POST请求
instance.execute(new HttpPost(SAMPLE_URL));8、为HTTP请求配置重定向
CloseableHttpClient instance = HttpClientBuilder.create().disableRedirectHandling().build(); CloseableHttpResponse response = instance.execute(new HttpGet(SAMPLE_URL)); assertThat(reponse.getStatusLine().getStatusCode(), equalTo(301));9、配置请求的HEADER部分
HttpGet request = new HttpGet(SAMPLE_URL); request.addHeader(HttpHeaders.ACCEPT, “application/xml”); response = instance.execute(request);10、获取响应的HEADER部分
CloseableHttpResponse response = instance.execute(new HttpGet(SAMPLE_URL)); Header[] headers = response.getHeaders(HttpHeaders.CONTENT_TYPE); assertThat(headers, not(emptyArray()));11、关闭或释放资源
response = instance.execute(new HttpGet(SAMPLE_URL)); try{ HttpEntity entity = response.getEntity(); if(entity!=null){ InputStream instream = entity.getContent(); instream.close(); } } finally{ response.close(); }
0 0
- Apache HttpClient 4.3开发指南
- 《Apache HttpClient 4.3开发指南》
- 《Apache HttpClient 4.3开发指南》
- Apache HttpClient 4.3开发指南
- Apache HttpClient 4.3开发指南
- 《Apache HttpClient 4.3开发指南》
- Apache HttpClient 4.3开发指南
- Apache HttpClient 4.3开发指南
- Apache HttpClient 4.3开发指南(三个例子)
- Apache HttpClient 4.3开发指南 实现URL重定向
- Apache Beam开发指南
- Apache Beam开发指南
- Apache PDFbox快速开发指南
- Apache Kafka开发入门指南
- Apache HTTPClient
- Apache HttpClient
- Apache HttpClient
- apache httpclient
- python object 类
- GCC编译原则
- 选择排序
- echo的打印空格
- iOS8 【xcode6中添加pch全局引用文件】
- Apache HttpClient 4.3开发指南
- AndroidEventBus事件总线
- 搜索页使用dede:arclist dede:chanellist 标签方法
- Doxygen—程序文档生成工具
- iOS8 中新增 UIResponder 功能 - UserActivityState
- QTreeWidget系列--QTreeWidgetItem可随意移动(拖拽),更换父亲节点
- Exec Maven Plugin全面解析和使用示例
- Reverse Words in a String. 豌豆荚 Android实习 电话面试题
- struts2中的依赖注入与指定处理请求后缀