好程序员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)编写测试代码

@Test
    public void testHttpClient() throws IOException {

//1.获得HttpClient对象
        CloseableHttpClient client = HttpClients.createDefault();
        //2.创建请求对象,如果是post请求  HttpPost  如果是get请求  HttpGet对象
        String uri = "http://www.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"));
        }

}

好程序员Java教程分享使用HttpClient抓取页面内容相关推荐

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

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

  2. apache httpclient 工具类_Java教程分享使用HttpClient抓取页面内容

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

  3. 好程序员Java教程分享之jvm篇

    好程序员java教程分享之jvm篇,在前面的文章中,介绍了JVM内存模型分为:堆区.虚拟机栈.方法区.本地方法区和程序计数器,其中堆区是JVM中最大的一块内存区域,在Java中的所有对象实例都保存在此 ...

  4. 好程序员Java教程分享JavaScript面试问题及答案(一)

    好程序员Java教程分享JavaScript面试问题及答案(一) 1.使用 typeof bar === "object" 来确定 bar 是否是对象的潜在陷阱是什么?如何避免这个 ...

  5. java static关键字_好程序员Java教程分享static关键字的理解

    好程序员Java教程分享static关键字的理解,static关键字含义可以理解为静态的. 1. 当其修饰属性时,该属性为整个类公有,所有的对象操作的都是同一个静态属性.所以调用时应该使用类名去调用, ...

  6. hibernate savealiasentity 保存后id为空_好程序员Java教程分享Java面试题之Hibernate

    好程序员Java教程分享Java面试题之Hibernate 1.简书一下Hibernated的开发流程 第一步:加载Hibernate的配置文件,读取配置文件的参数, 第二步:创建SessionFac ...

  7. java post请求 json_好程序员Java教程分享Vue插件之Axios

    好程序员Java教程分享Vue插件之Axios 环境安装: npm install --save axios vue-axios //安装axios Npm install //安装依赖 在main. ...

  8. java喷泉编码_好程序员Java教程分享使用JS实现简单喷泉效果

    原标题:好程序员Java教程分享使用JS实现简单喷泉效果 好程序员Java教程分享使用JS实现简单喷泉效果,最近,在教学生使用JS的基本操作,为了练习JS的基本作用,特地写了一个喷泉效果,代码如下: ...

  9. java双引号的转义字符_好程序员Java教程分享常见的转义字符

    原标题:好程序员Java教程分享常见的转义字符 好程序员Java教程分享常见的转义字符,在Java字符常量中,反斜杠(\)是一个特殊的字符,被称为转义字符,它的作用是用来转义后面一个字符.转义后的字符 ...

  10. javaweb模板_好程序员Java教程分享javaweb框架

    好程序员Java教程分享javaweb框架:Java是开源的,框架很多,这些框架都能解决特定的问题,提高开发效率.简化我们的代码复杂度,现在除了很多大家通用的一些主流框架外,很多公司针对自己的业务会自 ...

最新文章

  1. 别再写满屏的try-catch了,真丑,全局异常处理不会吗?
  2. Python3-笔记-E-001-库-随机数random
  3. Mybatis 源码探究 (4) 将sql 语句中的#{id} 替换成 ‘?
  4. 在Google的GPU上永远免费训练您的机器学习模型
  5. 深度学习:在图像上找到手势_使用深度学习的人类情绪和手势检测器:第1部分
  6. python 示例_带有示例的Python字典update()方法
  7. ajax的url怎么将后缀补上_球形门锁怎么拆装?球形门锁安装的方法都包括哪些?
  8. idm2021中文版序列号加速下载百度云网盘大文件教程
  9. linux 下载命令
  10. 读书笔记《TAOCP》 V1 S1.1
  11. python经济统计学论文_Python商务与经济统计学-1
  12. excel数据透视表之交叉表分组
  13. U盘快捷方式文件病毒解决方法
  14. 基于FPGA的SPI-Flash控制器的Verilog设计和验证
  15. Windows10系统电脑怎么查看自己电脑虚拟化技术是否开启?
  16. C语言去掉字符串首尾空格,C语言实现去除字符串首尾空格
  17. 苹果手机充值显示服务器异常,球球大作战iOS会员充值异常解决办法
  18. 华为为何取名鸿蒙系统,华为自主操作系统为何取名鸿蒙,看完西游记才知道霸气在哪里?...
  19. Python从网易云音乐、QQ 音乐、酷狗音乐等搜索和下载歌曲
  20. C#初学者教程系列1:什么是.NET Framework?

热门文章

  1. 服务器地图不显示图片,传奇小地图不显示怎么办 传奇服务端小地图制作教程...
  2. web平台安全测试方案
  3. poj 3007 stl
  4. Latex的使用模板
  5. ESP32-CAM + micropython学习笔记
  6. 注册测绘师学习笔记(一)
  7. 欺骗的艺术——第一部分
  8. 史上最全的android学习资料
  9. C语言之父辞世引发“分号”悼念
  10. windows内核驱动