Java教程分享使用HttpClient抓取页面内容,使用HttpClient工具来发送Http请求

1.简介

HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。

HttpClient 相比传统 JDK 自带的 URLConnection,增加了易用性和灵活性,它不仅是客户端发送 HTTP 请求变得容易,而且也方便了开发人员测试接口(基于 HTTP 协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握 HttpClient 是很重要的必修内容,掌握 HttpClient 后,相信对于 HTTP 协议的了解会更加深入。

2.应用场景

3.HttpClient工具的使用

1)添加依赖

<!-- Apache Http Begin -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.5</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>fluent-hc</artifactId>
<version>4.5.5</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.5</version>
</dependency>
<!-- Apache Http End -->

2)编写测试代码

@Testpublic void testHttpClient() throws IOException {//1.获得HttpClient对象
CloseableHttpClient client = HttpClients.createDefault();//2.创建请求对象,如果是post请求 HttpPost 如果是get请求 HttpGet对象
String uri = "baidu com";
HttpGet get = new HttpGet(uri);//3.执行get请求,获得响应消息对象
CloseableHttpResponse response = client.execute(get);//4.获取响应行
StatusLine statusLine = response.getStatusLine();//5.获取状态码int code = statusLine.getStatusCode();if(code==200){//响应成功
HttpEntity entity = response.getEntity();//6.获取响应体中的内容// InputStream is = entity.getContent();// byte[] b = new byte[8192];// int len = 0;// while((len = is.read(b))!=-1){// System.out.println(new String(b,0,len));// }// is.close();
System.out.println(EntityUtils.toString(entity, "utf-8"));
}
}

apache httpclient 工具类_Java教程分享使用HttpClient抓取页面内容相关推荐

  1. java response 获得code_Java教程分享使用HttpClient抓取页面内容

    Java教程分享使用HttpClient抓取页面内容,使用HttpClient工具来发送Http请求 1.简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提 ...

  2. HttpClient工具类

    HttpClient工具类 package cn.sh.steven.httpclient;import com.alibaba.fastjson.JSON; import com.alibaba.f ...

  3. HttpClient工具类封装

    HttpClient是Apache Jakarta Common下的子项目,用来提供高效的.最新的.功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议.HttpCli ...

  4. Java爬虫系列二:使用HttpClient抓取页面HTML

    爬虫要想爬取需要的信息,首先第一步就要抓取到页面html内容,然后对html进行分析,获取想要的内容.上一篇随笔<Java爬虫系列一:写在开始前>中提到了HttpClient可以抓取页面内 ...

  5. apache httpclient 工具类_使用HttpClient进行服务的远程调用

    目标:使用apache公司的产品http httpcomponents 完成服务调用. HTTPClient调用服务 4:导入httpclient的依赖配置 org.apache.httpcompon ...

  6. apache httpclient 工具类_HttpClient

    HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...

  7. apache httpclient 工具类_HttpClient 和Mycat 主从节点和读写分离

    第175次(HttpClient) 学习主题:HttpClient 学习目标: 1 掌握HttpClient自定义工具以及HttpClient具体的使用 对应视频: http://www.itbaiz ...

  8. Java开发小技巧(五):HttpClient工具类

    前言 大多数Java应用程序都会通过HTTP协议来调用接口访问各种网络资源,JDK也提供了相应的HTTP工具包,但是使用起来不够方便灵活,所以我们可以利用Apache的HttpClient来封装一个具 ...

  9. 常用Apache Commons工具类备忘

    常用Apache Commons工具类 ----------------------------------------------------------------- 例如:commons.lan ...

最新文章

  1. 在Ubuntu Desktop 12.04 LTS从源代码运行ADempiere 3.6.0 LTS
  2. python property内建函数的介绍
  3. SCA/SDO与WCF的比较
  4. UnityShader之Shader分类篇【Shader资料2】
  5. 后台系统可扩展性学习笔记
  6. C程序设计语言现代方法02:C语言基本概念
  7. python决策树预测模型_「数据挖掘入门系列」数据挖掘模型之分类与预测 - 决策树...
  8. 【零基础】一文读懂CPU(从二极管到超大规模集成电路)
  9. 服务器要使用两张网卡做bond0以实现网络冗余和提高带宽
  10. 潍坊学院计算机系宿舍,关于表彰潍坊学院第十届大学生宿舍文化节先进集体和先进个人的决定...
  11. 农业科普:智慧果园种植科研(二)
  12. 个人永久性免费-Excel催化剂功能第85波-灵活便捷的批量发送短信功能(使用腾讯云接口)...
  13. 贼好用的六款 Linux 远程连接工具介绍
  14. 使用nginx分流虎牙爱奇艺同时直播
  15. Ocelot一个优秀的.NET API网关框架
  16. 国外创意名片设计欣赏的200佳网站推荐(系列十三)
  17. 浙江工业大学简易绩点计算器c++版
  18. Java基础-1 基础数据类型及常用引用数据类型
  19. SkeyeRTSPLive高效转码之SkeyeVideoEncoder高效硬件编码解决方案(附源码)
  20. uni-app中如何生成二维码

热门文章

  1. “开源”将成为物联网开发生态链的标准
  2. Visual Studio 2005 SQL Server 2005 are COMING!
  3. html音乐唱片自动转,HTML5音乐播放器(四):播放列表与播放方式
  4. linux ext4 文件大小,[svc]为何linux ext4文件系统目录默认大小是4k?
  5. 危险工种 机器人逃生记_袋料自动搬运机器人为什么能取代人工搬运
  6. python游戏服务器框架_Scut游戏服务器免费开源框架--快速开发(2)
  7. 服务器修改网卡,美国服务器CentOS 6.x修改网卡名称的方法
  8. java word打印_如何通过Java打印Word文档
  9. 设计MM32-LINK自动复位器,上电复位
  10. 2021年春季学期-信号与系统-第三次作业参考答案-第二道题