Apache HttpClient 4 3开发指南

 2023-09-07 阅读 21 评论 0

摘要:《Apache HttpClient 4.3开发指南》作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs一、概述Apache HttpClient 4系列已经发布很久了,但由于它与HttpClient 3.x版本完全不兼容,以至于业内采用此库的公司较少,在互联网

《Apache HttpClient 4.3开发指南》

作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

一、概述

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、配置请求的超时设置
@Test(expected=SocketTimeoutException.class)public void givenLowTimeout_whenExecutingRequestWithTimeout_thenException() throws ClientProtocolException, IOException{    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();}

以上内容涵盖了HttpClient 4.3所有常见的需求,供开发者参考。

apache部署web项目,


           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/14369.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息