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"));
}
}

java response 获得code_Java教程分享使用HttpClient抓取页面内容相关推荐

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

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

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

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

  3. java jquery 文件下载_jQuery教程分享通过ajax下载文件

    我需要通过ajax从服务器下载文件. 问题是该文件未存储在服务器上. 我的基于java的后端自动从请求参数生成文件并在响应正文中返回它: @RequestMapping(value = "/ ...

  4. 基于Jsp的美食网javaweb JAVA美食网站美食教程分享交流网MySQL数据源

    Jsp的美食网javaweb JAVA美食网站美食教程分享交流网MySQL数据源

  5. Python学习教程:Python爬虫抓取技术的门道

    Python学习教程:Python爬虫抓取技术的门道 web是一个开放的平台,这也奠定了web从90年代初诞生直至今日将近30年来蓬勃的发展.然而,正所谓成也萧何败也萧何,开放的特性.搜索引擎以及简单 ...

  6. java 爬数据工具 知乎_知乎爬虫之4:抓取页面数据

    本文由博主原创,转载请注明出处:知乎爬虫之4:抓取页面数据 咱们上一篇分析了知乎的登陆请求和如何拿到粉丝/关注的请求,那么咱们这篇就来研究下如何拿利用Jsoup到咱们想要的数据. 那么咱们说下,首先请 ...

  7. 用httpclient抓取全国火车票信息

    一个通过httpclient抓取火车票信息的程序,需要修改下才能跑通,需要自己封装下httpclient,然后用get方式调用,还有fastJson,需要自己去解析下获得的数据,catchTrainI ...

  8. python爬虫教程,带你抓取百度的高清摄影图片

    python爬虫教程,带你抓取百度的高清摄影图片 源码分享: ''' 在学习过程中有什么不懂得可以加我的 python学习交流扣扣qun,934109170 群里有不错的学习教程.开发工具与电子书籍. ...

  9. html 抓取移动,网页采集提取数据教程,以自定义抓取方式为例 - 八爪鱼采集器...

    网页上的数据类型十分丰富:文本.图片.链接.源码等.在数据采集过程中,不同类型的数据类型,对应的抓取方式是不同的.本文将讲解常见的数据类型与其抓取方式. 示例网址:https://movie.doub ...

最新文章

  1. Ubuntu中Atom安装与使用
  2. SQL操作语句中的注意点
  3. 还是两个数的交换问题
  4. SQL Update 语句中使用别名
  5. linux crontab环境变量,Linux下crontab内环境变量与Shell环境变量的关系【转】
  6. 读入的字节都写入字节数组中_使用Java将文件读入字节数组的7个示例
  7. 头条Java后台3面(含答案):事务+List集合+慢查询SQL+Redis+秒杀设计
  8. html js倒计时不准确,js倒计时代码:第2个倒计时为什么会不正常?
  9. json动态生成复杂表头excel_Excel办公用品管理系统,全函数统算,图表动态展示高效轻松...
  10. 推荐一个视频 Postive Psychology
  11. 【引用】MySQL定时任务
  12. bzoj 4300绝世好题
  13. linux vim 编译python,Ubuntu下编译Vim8(+python)无数次编译失败
  14. python毕业设计作品基于django框架 景区购票系统毕设成品(6)开题答辩PPT
  15. Linux从入门到指令详解
  16. 多媒体个人计算机的特点,多媒体特征
  17. 批量修改后缀名的方法
  18. 皮克公式:点阵中多边形的面积公式
  19. 介词for和with 和of的用法_to for of with的用法区别
  20. android studio编程时出现的错误:Error:Execution failed for task ':app:processDebugResources'.

热门文章

  1. python selenium 等待元素出现_Python Selenium等待加载几个元素
  2. c语言程序设计课件第二章,c语言程序设计课件张元国 ISBN9787566300386 PPT第二章数据类型 运算符与表达式...
  3. 计算机vb操作题评分细则,上机考试的试题及评分标准.doc
  4. oracle查询大小写敏感参数,让Oracle 大小写敏感 表名 字段名 对像名
  5. SVG格式的Icon,用了你就知道有多香
  6. php 微信小程序 循环 多选,微信小程序实现多选功能
  7. thinkphp+mysql+join+where_thinkphp5.0 多join时where无法between
  8. java后端工程师平时开发或多或少会用到Myeclipse,那么它有哪些快捷键呢
  9. 使用微信开发者工具添加小程序底部导航栏报错
  10. 微信连接WIFI并关注公众号的方法