使用HttpClient抓取页面内容

简介: HttpClient抓取页面内容,使用HttpClient工具来发送Http请求1.简介HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

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.应用场景
点击并拖拽以移动​
_1

3.HttpClient工具的使用
1)添加依赖


org.apache.httpcomponents
httpclient
4.5.5


org.apache.httpcomponents
fluent-hc
4.5.5


org.apache.httpcomponents
httpmime
4.5.5

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

}

相关文章
|
7月前
|
数据采集 Web App开发 JSON
浏览器插件:WebScraper基本用法和抓取页面内容(不会编程也能爬取数据)
本文以百度为实战案例演示使用WebScraper插件抓取页面内容保存到文件中。以及WebScraper用法【2月更文挑战第1天】
482 2
浏览器插件:WebScraper基本用法和抓取页面内容(不会编程也能爬取数据)
|
Java
百度搜索:蓝易云【hutool Http 工具发送POST请求的几种方式。】
以上是使用Hutool发送POST请求的几种方式。根据实际需求和代码复杂度,选择合适的方式来发送POST请求。
319 0
|
3月前
|
存储 数据采集 XML
使用Crawler实例进行网页内容抓取
使用Crawler实例进行网页内容抓取
|
25天前
|
数据采集 前端开发 JavaScript
除了网页标题,还能用爬虫抓取哪些信息?
爬虫技术可以抓取网页上的各种信息,包括文本、图片、视频、链接、结构化数据、用户信息、价格和库存、导航菜单、CSS和JavaScript、元数据、社交媒体信息、地图和位置信息、广告信息、日历和事件信息、评论和评分、API数据等。通过Python和BeautifulSoup等工具,可以轻松实现数据抓取。但在使用爬虫时,需遵守相关法律法规,尊重网站的版权和隐私政策,合理控制请求频率,确保数据的合法性和有效性。
|
7月前
httpclient 模拟登陆网站 获取网站内容程序
httpclient 模拟登陆网站 获取网站内容程序
38 3
|
7月前
httpclient如何一起上传内容和图片
httpclient如何一起上传内容和图片
28 3
|
数据采集 JavaScript 前端开发
动态内容抓取指南:使用Scrapy-Selenium和代理实现滚动抓取
在传统的网络爬虫中,静态网页内容很容易抓取,但对于通过JavaScript加载的动态内容,通常需要借助浏览器进行模拟访问。Scrapy-Selenium是一款结合了Scrapy和Selenium功能的库,可以实现模拟浏览器行为,从而实现抓取动态内容的目的。
509 0
动态内容抓取指南:使用Scrapy-Selenium和代理实现滚动抓取
|
网络协议 前端开发 JavaScript
一个浏览器从加载URL到页面展示出来,经过了哪些步骤?
一个浏览器从加载URL到页面展示出来,经过了哪些步骤?
|
缓存 网络协议 前端开发
浏览器原理 04 # 导航流程:从输入URL到页面展示,这中间发生了什么?
浏览器原理 04 # 导航流程:从输入URL到页面展示,这中间发生了什么?
208 0
浏览器原理 04 # 导航流程:从输入URL到页面展示,这中间发生了什么?
《http访问链接获取信息下载音频》
《http访问链接获取信息下载音频》
《http访问链接获取信息下载音频》