欢迎光临
我们一直在努力

HttpClient HelloWorld实现

HttpClient HelloWorld实现

前面我们介绍了HttpClient 这个框架主要用来请求第三方服务器,然后获取到网页,得到我们需要的数据;

所以今天搞个简单实例,让大家体验一把。

首先建一个Maven项目,然后添加httpClient依赖,版本是4.5

12345<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.2</version></dependency>
12345678910111213141516171819202122232425262728293031323334353637383940414243444546package com.open1111.httpclient; import java.io.IOException; import org.apache.http.HttpEntity;import org.apache.http.ParseException;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils; public class HelloWorld { public static void main(String[] args) {CloseableHttpClient httpClient=HttpClients.createDefault(); // 创建httpClient实例HttpGet httpget = new HttpGet("http://www.java1234.com/"); // 创建httpget实例CloseableHttpResponse response=null;try {response = httpClient.execute(httpget);catch (ClientProtocolException e) {  // http协议异常// TODO Auto-generated catch blocke.printStackTrace();catch (IOException e) { // io异常// TODO Auto-generated catch blocke.printStackTrace();// 执行get请求HttpEntity entity=response.getEntity(); // 获取返回实体try {System.out.println("网页内容:"+EntityUtils.toString(entity, "utf-8"));catch (ParseException e) {  // 解析异常// TODO Auto-generated catch blocke.printStackTrace();catch (IOException e) { // io异常// TODO Auto-generated catch blocke.printStackTrace();// 指定编码打印网页内容try {response.close();catch (IOException e) {  // io异常// TODO Auto-generated catch blocke.printStackTrace();// 关闭流和释放系统资源}}

视频里会有详细讲解,运行输出:

QQ鎴浘20170115173034.jpg

这里得到了网站首页源码,当然要获得具体数据的话,要用到Jsoup,我们后面课程会讲解该技术;

假如你对这些异常都熟悉 我们可以简化下,异常抛出,这样代码可读性好点。

12345678910111213141516171819202122package com.open1111.httpclient;  import org.apache.http.HttpEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils; public class HelloWorld2 { public static void main(String[] args) throws Exception{CloseableHttpClient httpclient = HttpClients.createDefault(); // 创建httpclient实例HttpGet httpget = new HttpGet("http://www.java1234.com/"); // 创建httpget实例 CloseableHttpResponse response = httpclient.execute(httpget); // 执行get请求HttpEntity entity=response.getEntity(); // 获取返回实体System.out.println("网页内容:"+EntityUtils.toString(entity, "utf-8")); // 指定编码打印网页内容response.close(); // 关闭流和释放系统资源}}

但是实际开发的话,我们对于每一种异常的抛出,catch里都需要做一些业务上的操作,所以以后用的话,还是第一种,假如爬虫任务很简单,容易爬取,并且量小,那就第二种。还是要根据具体情况来。

赞(1) 打赏
未经允许不得转载:柳叶飘 » HttpClient HelloWorld实现
分享到: 更多 (0)

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏