`
itace
  • 浏览: 178529 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java获取网页的编码

    博客分类:
  • java
阅读更多
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;

public class WebEncoding {

	public static String getEncoding(HttpURLConnection httpUrlConnection)
			throws IOException {
		String contentEncoding = httpUrlConnection.getContentEncoding();
		String contentType = httpUrlConnection.getContentType();
		InputStream inputStream = httpUrlConnection.getInputStream();
		if (contentEncoding == null) {

			int index = contentType.indexOf("=");
			if (index == -1) {
				System.out.println("----contentType----");
				return getEncodingByInputStream(inputStream);
			} else {
				System.out.println("----InputStream----");
				String t = contentType.substring(index + 1);
				return t.toUpperCase();
			}
		} else {
			System.out.println("----contentEncoding----");
			return contentEncoding;
		}
	}

	public static String getEncodingByInputStream(InputStream inputStream) {
		try {
			StringBuffer sb = new StringBuffer("1234567");
			StringBuffer sb2 = new StringBuffer();
			int t;
			while ((t = inputStream.read()) != -1) {
				sb.deleteCharAt(0);
				sb.append((char) t);
				if (sb.toString().toLowerCase().equals("charset")) {
					for (int i = 0; i < 10; i++) {
						char c = (char) inputStream.read();
						sb2.append(c);
					}
					break;
				}

			}
			String str = sb2.toString();
			int si = str.indexOf("=") + 1;
			int ei = str.indexOf("\"");
			String encoding = str.substring(si, ei).trim().toUpperCase();
			return encoding;
		} catch (IOException e) {
			e.printStackTrace();
			return "UTF-8";
		}
	}
}

 

分享到:
评论

相关推荐

    获取网页的编码格式(含JAVA源码 )

    总结起来,获取网页编码格式是Web开发中的一个重要任务,尤其在处理多语言和国际化内容时。Java提供了丰富的库,如CharDet和CPDetector,可以帮助开发者有效地识别和处理各种编码问题。通过理解这些工具的工作原理和...

    java 实现整张网页快照

    例如,可以执行一个JavaScript脚本来获取网页的canvas元素,然后调用`toDataURL()`方法将canvas内容转换为Base64编码的图像数据。 5. **处理图像数据**:在Java端接收到Base64编码的图像数据后,将其解码并保存为...

    Java图形界面获取网页的源代码

    在Java编程语言中,开发一个图形用户界面(GUI)来获取网页源代码涉及到多个关键知识点。这个项目使用了Java Swing库来创建JFrame窗口,并利用Java的网络编程能力来抓取网页内容。以下是对这些技术的详细解释: 1. ...

    java将网页保存成mht格式程序

    ### Java将网页保存成MHT格式程序:详细解析与实现 在互联网开发中,有时我们需要将整个网页(包括其所有资源如图片、样式表、脚本等)保存为一个单一的文件,以便于离线浏览或备份。MHT(MIME HTML)格式是一种将...

    如何用java保存网页

    ### 如何用Java保存网页 在软件开发领域中,经常需要处理网页数据或者将网页保存为本地文件,以便后续分析或使用。本文将详细介绍如何利用Java实现这一功能,并且会覆盖到网页抓取、HTML解析以及文件保存等关键步骤...

    获取编码的jar

    java用来获取网页编码的jar,可以用来判定目标链接的页面的编码格式

    正则表达式提取网页编码

    正则表达式是一种强大的文本处理...通过上述示例,我们不仅学习了如何设计正则表达式来提取网页编码,还了解了如何在Java中应用这些表达式。掌握这一技能对于任何从事Web开发或数据处理工作的专业人士都是极为有益的。

    Java获取网页数据步骤方法详解

    Java获取网页数据步骤方法详解 Java获取网页数据是指使用Java语言从互联网上获取网页数据的过程。这个过程主要包括使用HttpClient请求网页、获取网页源码、查看源码是否有需要提取的数据、对源码进行拆解、获取需要...

    java读取远程网页乱码解决方案

    首先,理解网页编码至关重要。网页通常使用UTF-8、GBK等字符集编码,Java在读取时必须识别并匹配这种编码,才能正确解析字符。当Java程序以错误的编码读取网页时,会出现乱码现象。 一、使用`java.net.URL`和`...

    通过URL地址获取网页生成jpg图片

    最后,Java端通过HTTP请求获取Base64编码的图片数据,解码并保存为jpg文件: ```java String base64Image = fetchBase64ImageFromNodeServer(url); // 调用Node.js服务获取Base64数据 byte[] imageBytes = Base64....

    Java指定编码生成静态网页技术.pdf

    Java 指定编码生成静态网页技术涉及到一系列的编程概念和方法,主要目的是从网络上获取HTML页面内容,并将其保存到本地文件系统中,形成一个静态网页。在Java中,这个过程通常涉及到网络请求、输入输出流处理以及...

    Java爬虫爬取网页数据

    Java爬虫爬取网页数据是一种常见的技术,用于自动地从互联网上抓取信息。这个工具提供了方便的方法来解析HTML和XML文档,提取所需的数据。在Java中,我们通常使用库如Jsoup或Apache HttpClient来实现爬虫功能。下面...

    java抓取网页内容--生成静态页面

    在Java编程中,生成静态页面是一种常见的技术,它涉及到网页内容的抓取和存储。这个程序的主要目的是从指定的URL抓取网页内容,并将其保存为一个HTML文件,即静态页面。下面将详细讲解这个过程涉及的关键知识点。 1...

    java读取网页 生成页面

    在IT领域,特别是Java...总之,使用Java读取网页并生成静态页面涉及到网络编程、输入输出流操作、编码处理、异常管理等多个方面的知识。掌握这些核心技能,不仅能够提升个人编程能力,还能在实际项目中发挥重要作用。

    Java爬虫网页上的所有链接网址.zip_java 网页爬虫_java网页爬虫_爬取所有链接_网页爬虫链接

    总的来说,这个Java爬虫项目专注于获取网页上的所有链接,对于初学者而言,这是一个很好的学习资源,能够帮助理解网络爬虫的工作原理和基本实现。通过深入研究和修改这个"Robot"类,可以扩展其功能,比如添加多线程...

    java如何正确使用字体编码

    在Java开发过程中,正确处理字符编码是非常重要的,尤其是在涉及到数据库操作、网页数据读取等情况时。本文将详细介绍如何在Java环境中正确地使用各种字符编码,包括UTF-8、ISO-8859-1、GBK等。 #### 一、字符编码...

    简易网页浏览器(JAVA、含报告)

    1. **网络编程**:使用JAVA的`java.net`包中的`URL`和`URLConnection`类来建立与Web服务器的连接,获取网页内容。这涉及到HTTP协议的理解,以及如何发送GET请求来请求网页资源。 2. **IO流处理**:获取到网页内容后...

    java网页数据采集开发包

    在实际应用中,需要注意一些问题,比如网页编码的处理、动态加载内容的抓取、反爬虫策略的应对等。对于编码问题,Jsoup可以自动检测和转换HTML文档的字符编码。对于动态加载的内容,可能需要使用Selenium等工具模拟...

    java+FFmpeg+JavaCV实现无控件HTML页面视频实时预览,录像等,RTSP协议

    Java后端将从RTSP源获取的视频流通过WebSocket推送到前端,`&lt;video&gt;`标签则负责实时解码并显示这些数据。 6. **录像功能**:项目可能使用JavaCV库来捕获视频流,并将其保存为本地文件。FFmpeg可以在此过程中帮助...

    java抓取网页数据获取网页中所有的链接实例分享

    本实例分享了一个简单的Java程序,用于从指定网页中获取所有链接。通过创建一个名为`HtmlParser`的类,该程序实现了对HTML页面的解析,并提取出`&lt;a&gt;`标签中的`href`属性,即网页链接。 首先,`HtmlParser`类中有一...

Global site tag (gtag.js) - Google Analytics