`

使用httpClient和httpParser获取指定网址的title

    博客分类:
  • java
阅读更多
package com.xinhuanet.cloudDesk.controller;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpConnectionManager;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpConnectionManagerParams;
import org.htmlparser.Parser;
import org.htmlparser.visitors.HtmlPage;

public class R {
	public static void main(String[] args) throws Exception {

		HttpClient httpClient = new HttpClient();
		httpClient.getHostConfiguration().setProxy("202.84.17.41", 8080);

		HttpConnectionManager httpConnManager = httpClient
				.getHttpConnectionManager();

		if (httpConnManager != null) {
			HttpConnectionManagerParams mgrParams = new HttpConnectionManagerParams();
			mgrParams.setSoTimeout(20000000);
			mgrParams.setTcpNoDelay(true);
			mgrParams.setConnectionTimeout(20000000);
			mgrParams.setLinger(0);
			mgrParams.setStaleCheckingEnabled(false);
			httpConnManager.setParams(mgrParams);
		}

		String url = "http://www.poetry4cn.com";
		GetMethod methodGet = new GetMethod(url);
		httpClient.executeMethod(methodGet);
		String charset = getCharSet(new String(methodGet.getResponseBody()));
		System.out.println("getCharSet:" + charset);
		String responseGet = new String(methodGet.getResponseBody(), charset);
		System.out.println(responseGet);

		

		Parser myParser = Parser.createParser(responseGet.toString(), charset);
		HtmlPage visitor = new HtmlPage(myParser);
		myParser.visitAllNodesWith(visitor);
		String textInPage = visitor.getTitle();
		System.out.println("title:" + textInPage);

	}
	
	public static String getCharSet(String content) {
		// String regex = ".*charset=([^;]*).*";
		String regex = "<meta.+?charset=[^\\w]?([-\\w]+)";
		Pattern pattern = Pattern.compile(regex);
		Matcher matcher = pattern.matcher(content);
		if (matcher.find())
			return matcher.group(1);
		else
			return null;
	}

}
分享到:
评论

相关推荐

    httpClient_httpParser.jar

    在Java编程领域,HttpClient和HttpParser是两个非常重要的库,特别是在进行网络爬虫开发时。这两个库分别提供了HTTP客户端通信和HTTP协议解析的功能,对于构建高效、可靠的网络数据抓取系统至关重要。 HttpClient是...

    httpClient和htmlparse获取网页数据使用jar

    总结来说,HttpClient和HtmlParser是Java开发中获取和解析网页数据的有力工具。HttpClient处理网络通信,而HtmlParser则负责解析HTML内容。通过两者结合,开发者能够高效地从网页中提取所需的数据,为各种应用场景...

    HttpClient获取OAuth2.0中的code

    通过httpclient post去获取,response返回码是302,返回的code放在header的Location中。 请求的时候client_id,response_type,redirect_uri,state拼接在url后面,account和password放在body表单(x-...

    httpClient 调用远程接口 获取数据到本地文件夹

    在这个场景中,我们使用HttpClient来调用远程接口,从电信公司的网站获取可用的新手机号码信息,并将这些数据存储到本地文件中。以下是对这个过程的详细解释: 1. **HttpClient的基本使用**: HttpClient提供了一...

    HttpClient网络获取图片

    从网络获取数据和图片,用gson解析并用listview展示

    使用 HttpClient 和 HtmlParser 实现简易网络爬虫

    总之,HttpClient和HtmlParser结合使用,可以构建一个基础的网络爬虫,用于抓取和解析网页数据。它们提供了一种有效的方式,让开发者能够轻松地与Web服务器交互,并处理返回的HTML内容,从而实现各种Web数据挖掘和...

    httpclient方式调用url

    4. **执行请求**:使用HttpClient实例执行请求,并获取HttpResponse对象: ```java HttpResponse response = httpClient.execute(httpGet); ``` 5. **处理响应**:从HttpResponse对象中读取响应状态码和数据。...

    java使用HttpClient通过url下载文件到本地

    - **执行请求**:使用HttpClient的`execute()`方法发送请求,并获取`HttpResponse`对象。 - **处理响应**:检查响应状态码,通常200表示成功。然后,通过`EntityUtils`类的`toString()`或`getContent()`方法获取...

    commons-httpclient-3.1jar包下载

    ...httpclient.HttpParser org.apache.commons.httpclient....

    使用HttpClient获取网页html源代码.zip

    此外,由于HttpClient在新版本的Android中不再推荐使用,开发者常转向使用OkHttp或Android自带的HttpURLConnection,它们提供了更现代的API和更好的性能。 总的来说,这个示例项目WebDataShow是一个基础的网络请求...

    httpclient 获取技术博客列表

    标题中的“httpclient 获取技术博客列表”指的是使用Apache HttpClient库来获取网络上的技术博客列表。HttpClient是一个Java库,它提供了一种丰富的API来执行HTTP请求,包括GET、POST等方法,用于从网页抓取数据。在...

    使用HttpClient发送POST请求,并获取响应内容(附详细步骤).txt

    ### 使用HttpClient发送POST请求,并获取响应内容 #### 一、简介 在现代软件开发中,尤其是在Web应用领域,客户端与服务器之间的通信是非常重要的环节。Java作为一种广泛应用的编程语言,提供了多种方式来实现这一...

    通过HTTPClient获取网络资源

    本篇文章将深入探讨如何使用`HttpClient`来获取网络资源,以及处理返回的XML数据。 首先,我们需要了解`HttpClient`的基本用法。在Java中,创建一个`HttpClient`实例是获取网络资源的第一步。`HttpClient`提供了...

    httpClient调用远程接口获取数据到本地文件夹

    在这个例子中,我们使用HttpClient来调用远程接口,从电信公司的网站获取可用手机号码的数据,并将其存储到本地文件系统。以下是对这个过程的详细解释: 1. **HttpClient的引入与配置**: 首先,我们需要在项目中...

    使用HttpClient必须的jar包

    在Java项目中使用HttpClient时,为了确保功能的完整性和正确性,通常需要引入一系列的jar包。这些jar包包含了HttpClient的核心组件、依赖库和其他必要的工具,它们共同构成了HttpClient的运行环境。 以下是一些关键...

    使用httpClient访问https+443端口号。

    6. **执行请求**:使用HttpClient实例的`execute`方法发送请求,并获取`HttpResponse`。 7. **处理响应**:解析`HttpResponse`,获取状态码,读取响应体,可能需要使用`EntityUtils`类。 8. **关闭连接**:记得在...

    一个使用HttpClient调用天气预报接口的例程

    然而,由于这个例程使用了HttpClient,我们需要了解其工作原理和如何在Android环境中正确使用。 7. **注意事项**: - 异步处理:网络请求不应在主线程中进行,以免阻塞用户界面,应使用异步任务或Android的...

    java 调用webservice使用HttpClient和XFire两种方式

    本文将详细介绍如何使用HttpClient和XFire这两种不同的库来调用Web Service,特别是针对短信接口的调用。 首先,让我们了解Web Service的基本概念。Web Service是一种基于互联网的、平台无关的交互方式,它允许不同...

    java使用HttpClient发送http请求

    接着,通过httpClient执行请求并获取响应。注意,执行完请求后需要关闭响应和HttpClient以释放资源。 对于POST请求,你需要创建一个HttpPost对象,并设置请求体: ```java HttpPost httpPost = new HttpPost(...

    Android例子源码使用HttpClient获取网页html源代码

    首先,我们来看`HttpClient`的使用。Apache HttpClient是一个强大的HTTP客户端库,它提供了丰富的功能来处理HTTP请求和响应。在Android 2.3.3版本中,HttpClient是官方推荐的网络通信方式。下面是一段基本的使用示例...

Global site tag (gtag.js) - Google Analytics