`
56071925
  • 浏览: 970 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

提取meta中的charset值,得到正确的网页源码

阅读更多

import java.io.*;
import java.io.IOException;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class GetSample {

	public static void main(String[] args) {
		HttpClient httpClient = new HttpClient();
		GetMethod getMethod = new GetMethod("http://www.baidu.com");
		getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
				new DefaultHttpMethodRetryHandler());
		try {
			int statusCode = httpClient.executeMethod(getMethod);
			if (statusCode != HttpStatus.SC_OK) {
				System.err.println("Method failed: "
						+ getMethod.getStatusLine());
			}
			byte[] responseBody = getMethod.getResponseBody();
			byte[] btemp=new byte[200];
			for (int i = 0; i < btemp.length; i++) {
				btemp[i]=responseBody[i];
			}
			
			String temp=new String(btemp);
			int start =temp.indexOf("charset");
			System.out.println(start);
			int end =temp.indexOf("\"",start);
			System.out.println(end);
			String charset=temp.substring(start+8,end);
			System.out.println(charset);
			System.out.println(temp);
			
			String sresponseBody=new String(responseBody,charset);
			System.out.println(sresponseBody)
			// 处理内容
			System.out.println("OK!");
		} catch (HttpException e) {
			// 发生致命的异常,可能是协议不对或者返回的内容有问题
			System.out.println("Please check your provided http address!");
			e.printStackTrace();
		} catch (IOException e) {
			// 发生网络异常
			e.printStackTrace();
		} finally {
			// 释放连接
			getMethod.releaseConnection();
		}
	}
}




这样得到了正确的网页源码是不是很麻烦啊,大家帮我改进下代码和效率好么?或者有什么好的java工具类么?
分享到:
评论

相关推荐

    网页提取源代码

    网页提取源代码是一个常见的任务,尤其对于数据抓取、网页分析和自动化测试等领域。在VS2008环境下,我们可以使用各种编程语言如C#或VB.NET来实现这个功能。以下是一些关于如何进行网页源代码提取的关键知识点: 1....

    新浪博客网页源码

    根据给定的信息,我们可以提取和总结出以下几个关键的知识点: ### 1. **网页文档类型定义(DOCTYPE)** - 在这段代码中,我们看到的是一个 XHTML 1.0 Transitional 的文档类型定义(DOCTYPE)。DOCTYPE 声明位于...

    网页源代码,javascript

    根据提供的文件信息,我们可以从网页源代码中提取到与网页结构、样式以及JavaScript脚本相关的知识点。接下来将详细解析这些知识点。 ### 1. 文档类型声明(DOCTYPE) ```html &lt;!DOCTYPE ...

    网页设计java代码

    然而,由于题目要求从这段信息中提取出与“网页设计Java代码”相关的知识点,我们可以通过这段HTML代码来探讨一下如何在网页设计中运用Java技术,以及如何在实际开发中将Java与HTML相结合。 ### 一、理解HTML代码 ...

    订单样板源码

    由于提供的内容片段较为有限,我们将尝试从几个不同的角度来解析这些信息,并从中提取出与在线订单处理相关的知识点。 ### 一、订单样板源码概述 #### 1.1 文件结构与类型 - **文件类型**:此文件为HTML文件,用于...

    百度地图首页源代码

    根据提供的百度地图首页源代码的信息,我们可以从中提取和总结出几个关键的知识点: ### 1. HTML文档结构 首先,这段代码是用HTML编写的,它定义了一个网页的基本框架。在`&lt;!DOCTYPE html&gt;`声明之后,是标准的HTML...

    使用xsl导出excel源码示例

    对于需要从XML结构中提取数据并呈现为表格格式的场景,使用XSLT是一种高效的方法。 通过理解和掌握这些知识点,你可以创建自定义的XSLT转换,将任何符合结构的XML数据转换为Excel格式,为数据分析和展示提供便利。

    解析Html的源代码

    `&lt;head&gt;`部分包含了元信息,如标题(`&lt;title&gt;`)、字符集(`&lt;meta charset&gt;`)等,而`&lt;body&gt;`则包含网页的实际内容,如文本、图片、链接等。 解析HTML源代码,我们可以使用多种方法。一种常见的方式是通过HTTP请求...

    基于Snoopy的PHP近似完美获取网站编码的代码

    此外,也可以考虑使用正则表达式或其他解析工具来提取`&lt;meta&gt;`标签中的信息,以提高效率和准确性。 总之,基于Snoopy的PHP代码能帮助开发者近似完美地获取网站编码,但这仍然需要对网页编码有深入理解,并且可能...

    Web开发-使用Echarts显示最近一周销量折线图-Python源码示例.zip

    &lt;meta charset="utf-8"&gt; 最近一周销量折线图 &lt;script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2/dist/echarts.min.js"&gt;&lt;/script&gt; ; height: 600px;"&gt; var myChart = echarts.init(document....

    asp.net采集页面上所有图像图片资源的具体方法

    在处理网页编码时,可以利用正则表达式来匹配网页中的meta标签,获取其中定义的字符集编码(charset)。通过这种方式,我们可以确定网页内容的正确编码格式,保证在转换字节数据为字符串时不会出现乱码。如果页面...

    nodejs爬虫遇到的乱码问题汇总

    例如,网页源码中给出的编码方式为UTF-8,但实际上返回的数据使用GBK编码,这可能是网站为了防止爬虫的反爬虫策略之一。 4. 数据压缩和传输编码 有时候,为了提高传输效率,服务器会对数据进行压缩,比如使用gzip...

    通过JavaScript实现一个动态时钟

    &lt;meta charset="UTF-8"&gt; 动态时钟 &lt;div id="clock"&gt;&lt;/div&gt; function updateClock() { var now = new Date(); var hours = now.getHours().toString().padStart(2, '0'); var minutes = now.getMinutes()....

    jsp一个简单的例子

    - **翻译**:服务器将JSP转换为Servlet源码,这个过程会把JSP文件中的Java代码提取出来。 - **初始化**:Servlet被加载并实例化,执行`init()`方法。 - **服务**:每当有HTTP请求到达时,Servlet的`service()`方法会...

    java获取URL内容截取后保存到Excel中

    标题“Java获取URL内容截取后保存到Excel中”涉及的主要知识点是Java网络编程和文件操作,特别是如何从网络上获取资源并将其处理后存储到Excel文件中。在这个过程中,可能会用到以下技术和方法: 1. **Java网络编程...

    微信小程序开发-rem转换rpx小工具

    然后在对数组中的元素字符串进行再次根据 “:” 进行拆分,这样就把原rem样式的数字给提取出来了,然后就根据规则转换成rpx的数值,重新组合就好了。 css格式化工具:https://tool.lu/css/   源码:   &lt;!...

    cms后台管理

    将解压后得到的jeecms-3.0.2-final文件夹下的root文件夹更名为jeecms拷贝到tomcat 安装目录下的webapps 文件夹下(例如: D:\Tomcat 6.0\webapps\),启动tomcat,在地址栏中输入http://localhost:8080/jeecms, 您...

    JS 获取移动终端浏览器版本信息

    &lt;meta charset="UTF-8"&gt; &lt;title&gt;JS 获取移动终端浏览器版本信息 function getBrowserInfo() { // ... } window.onload = function() { console.log(getBrowserInfo()); }; ``` 将这个HTML文件在移动设备上...

    Redis自定义监控1

    &lt;meta charset="utf-8" /&gt; &lt;title&gt;&lt;/title&gt; &lt;!-- 引入 echarts.js --&gt; &lt;script src="jslib/echarts.min.js"&gt;&lt;/script&gt; &lt;!-- 为 ECharts 准备一个具备大小(宽高)的 Dom --&gt; ; height: 400px;"&gt; // 初始...

Global site tag (gtag.js) - Google Analytics