private String getHtmlContent(final String url) {
String result = "";// 返回的结果
StringBuffer resultBuffer = new StringBuffer();
// 构造HttpClient的实例
HttpClient httpClient = new HttpClient();
// 创建GET方法的实例
GetMethod getMethod = new GetMethod(url);
// 使用系统提供的默认的恢复策略
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
// getMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"GB2312");
getMethod.getParams().setContentCharset("GB2312");
try { // 执行getMethod
int statusCode = httpClient.executeMethod(getMethod);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: "+ getMethod.getStatusLine()); }
// 流式读取
// 读取内容
// byte[] responseBody = getMethod.getResponseBody();
// 处理内容
// String result = new String(responseBody,"GBK");
// result = getMethod.getResponseBodyAsString();
// System.out.println(result);
// System.out.println(getMethod.getResponseCharSet());
// 推荐做法
BufferedReader in = new BufferedReader(new InputStreamReader(
getMethod.getResponseBodyAsStream(), getMethod.getResponseCharSet()));
String inputLine = null;
while ((inputLine = in.readLine()) != null) {
resultBuffer.append(inputLine);
resultBuffer.append("\n");
}
result = new String(resultBuffer);
return result;
} catch (HttpException e) {
// 发生致命的异常,可能是协议不对或者返回的内容有问题
System.out.println("Please check your provided http address!");
e.printStackTrace();
} catch (IOException e) {
// 发生网络异常
e.printStackTrace();
} finally {
// 释放连接
getMethod.releaseConnection();
}
return result;
}
}
http://nwhy.org/android-httpclient-gethtmlcontent.html
分享到:
相关推荐
如果开发者想要在AppWidget中直接展示网页内容,他们可能原本打算或在其他地方使用了WebView来显示从sgs.sgamer.com抓取的新闻页面。 `Notification`是Android系统提供的一种机制,它允许应用在状态栏中显示提醒...
在这个"Android HttpClient源码"中,我们可以深入理解其内部工作原理,并学习如何在Android应用中有效地使用它。 首先,HttpClient的核心类是`HttpClient`,它是整个HTTP客户端操作的管理者。通过`HttpClient`,...
这两种方法都是Android SDK内置的网络访问库,但HttpClient已经在Android 6.0(API级别23)之后被弃用,而URLConnection仍然是推荐的网络访问方式。 1. **HttpClient**: HttpClient是Apache HTTP Components库的一...
在Android开发中,有时我们需要从网络上获取网页的HTML源代码,以便进行数据抓取或者模拟用户交互。HttpClient是Java中一个常用的HTTP客户端库,它允许我们方便地发送HTTP请求并接收响应。在这个名为"使用HttpClient...
在Android开发中,获取网页内容是一项常见的任务,特别是在构建网络应用或者进行数据抓取时。本教程将聚焦于如何在Android应用中通过HTTP请求获取网页内容,并使用Jsoup库解析HTML,最后将查询结果显示在ListView中...
然而,`HttpClient`已被弃用,从Android 6.0开始,推荐使用`HttpURLConnection`或第三方库如OkHttp。`HttpURLConnection`是Java的标准库,它的使用相对简单且更高效: ```java import java.io.BufferedReader; ...
10. **Android应用中的网页抓取**:在Android环境中,可以使用OkHttp等库进行网络请求,结合Jsoup解析网页。同时,考虑到移动设备的资源限制,优化抓取和数据处理过程显得尤为重要。 通过这个教程,初学者将掌握...
在Android开发中,有时我们需要从网络上获取网页的HTML源代码,以便进行数据抓取或者分析。HttpClient是一个常用的Java库,适用于实现HTTP客户端功能,它也被广泛应用在Android中。本篇将详细介绍如何使用HttpClient...
在这个项目"HttpGet.rar_Android httpget_HttpGet android_android_httpget_http"中,我们将探讨如何在Android应用程序中使用`HttpGet`来抓取并下载远程页面的内容。 首先,理解HTTP协议的基础至关重要。HTTP(超...
描述中提到的知识点包括了在Android平台使用Apache HttpClient库发起GET请求获取网页内容,利用异步请求处理确保应用的响应性,以及使用正则表达式来提取网页中的特定信息。描述还强调了正则表达式对于抓取网页数据...
在抓取课表和成绩信息时,我们首先需要发送请求获取网页内容,然后使用Jsoup解析HTML,找到存放这些信息的特定标签或属性,提取出我们需要的数据。 在项目中,Constants.java文件扮演了关键角色。它通常包含常量...
在Android开发中,连接URL并获取HTML源码是常见的需求,比如用于网页抓取、网络数据解析等场景。本文将详细讲解如何在Android应用中实现这个功能,主要涉及URL连接和HTML源码解析两个核心知识点。 首先,Android...
在本项目"Android 爬取学校内网数据.zip"中,主要涉及的是使用Android平台进行网络数据抓取,特别是针对学校内网的数据。这里的关键技术是Jsoup库,一个强大的Java库,用于处理和解析HTML。以下是关于这个主题的详细...
在"netWworkTest"项目中,开发者可能结合了Jsoup和HttpClient的优点,首先使用HttpClient进行网络请求,获取到HTML页面内容,然后通过Jsoup解析并提取所需的数据。这样的组合方式既充分利用了HttpClient的网络请求...
本话题主要探讨的是如何使用Java语言,在Android平台上实现一个能够登录知乎的网络爬虫。以下将详细解析这一过程中的关键知识点: 1. **网络爬虫基础**:网络爬虫是一种自动遍历网页并抓取信息的程序。它们通过模拟...
而Apache HttpClient则是一个网络通信库,可以用来抓取网页内容,然后通过其他的解析工具处理。 "AndroidHTMLParser"可能是这样一个专为Android定制的HTML解析库,它可能已经去除了不适用的部分,提高了运行效率和...
4. **网络爬虫**:网络爬虫是一种自动遍历互联网并抓取网页内容的程序。基本工作流程包括请求网页、解析HTML、提取有用信息、存储数据等步骤。这个Java 1.6爬虫项目可能使用了HTTP客户端库(如HttpURLConnection或...
6. **HTTP请求**:虽然Jsoup本身并不直接支持HTTP请求,但可以与其他HTTP库结合使用,如HttpURLConnection或Apache HttpClient,来获取网页内容,然后用Jsoup进行解析。 **使用示例:** ```java import org.jsoup....
例如,我们可以创建一个HttpClient实例,设置请求头,然后使用GetAsync方法获取响应。响应内容通常为HTML,我们可以使用HtmlAgilityPack库解析HTML,这个库提供了强大的DOM操作功能,可以方便地定位并提取所需数据。...