查看一个网站的2个不同网页,一个正常显示,另一个完全乱码,包括英文都是乱码。郁闷~~
后来看了下这两个网页返回的header,发现一个的content-encoding是gzip,另一个没有,没有的就正常显示~~于是发现问题就在这。
添加以下代码
String contentEncoding = "";
if (method.getResponseHeader("Content-Encoding") != null) {
contentEncoding = method.getResponseHeader("Content-Encoding")
.getValue();
if (contentEncoding.indexOf("gzip") != -1) {
GZIPInputStream gzipin = new GZIPInputStream(
method.getResponseBodyAsStream());
br = new BufferedReader(new InputStreamReader(gzipin, charset));
}
} else {
br = new BufferedReader(new InputStreamReader(
method.getResponseBodyAsStream(), charset));
}
即gzip解压缩inputstream~~这样乱码就解决了~~~
分享到:
相关推荐
综上所述,解决HttpClient乱码问题涉及多个环节,包括正确设置字符编码、理解HTTP头信息、自定义HttpClient配置以及编写健壮的工具类。只有对HTTP通信的各个环节有深入理解,才能有效地处理这类问题,确保数据传输的...
本篇将详细介绍如何使用HttpClient解决乱码问题。 一、HttpClient基本使用 HttpClient主要由以下几个核心组件构成: 1. HttpClient:客户端实例,负责管理连接、配置请求等。 2. HttpRequestBase:表示HTTP请求,如...
服务器端自己写,本示例为客户端代码,可以解决httpClient4乱码问题,是替代修改源码的最佳写法。
HttpClient中文乱码问题的核心在于字符编码不一致或者未明确指定。默认情况下,HttpClient可能使用ISO-8859-1作为编码,而我们的中文字符通常需要UTF-8编码才能正确显示。以下是一些解决HttpClient中文乱码问题的...
在本文中,我们将深入探讨HttpClient的基本用法,以及如何使用它来抓取网页内容。 首先,你需要在项目中引入HttpClient的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org....
HttpClient4.2.5实现文件上传,无中文文件名乱码问题。亲测无问题。有问题可吐槽!
如果网页编码不是GBK,需要根据实际编码来设定,否则可能会出现乱码问题。 最后,我们通常需要关闭HttpEntity和HttpClient以释放资源: ```java EntityUtils.consume(entity); httpClient.getConnectionManager()....
HttpClient是Apache软件基金会的一个开源项目,它提供了一个强大的、高度可定制...通过提供的 httpClient网页抓取工具整合包,你可以快速地搭建起一个基本的网页抓取框架,进一步深入学习和实践HttpClient的各项功能。
本篇文章将深入探讨如何在Android源码中使用HttpClient库来获取网页。HttpClient是Apache的一个开源项目,提供了强大的HTTP客户端功能,使得开发者能够方便地进行网络通信。 首先,我们需要在Android项目中引入...
在IT领域,网络爬虫是获取网页数据的重要手段,而HttpClient和Jsoup是两种常用的Java库,用于实现这一目的。HttpClient提供了低级别的HTTP通信能力,而Jsoup则是一个解析和操作HTML文档的强大工具。本教程将详细介绍...
HTTPClient是Apache软件基金会的 HttpClient项目提供的一款Java库,它为Java程序员提供了强大的HTTP客户端功能,使得能够方便地进行网络请求和网页抓取。在本文中,我们将深入探讨HTTPClient库的基本概念、主要功能...
实际操作时,可能还需要考虑登录、分页、动态加载等问题,这些可以通过HttpClient设置cookie和处理重定向,或者使用Jsoup的Jsoup.connect模拟JavaScript执行来解决。 总之,HttpClient和Jsoup是Java开发者进行网页...
本例子源码展示了如何利用Apache HttpClient库来实现这一功能,同时也对比了另一种常见的网络访问方式——URLConnection。以下是对这两个方法的详细解释。 首先,我们来看`HttpClient`的使用。Apache HttpClient是...
总结来说,HttpClient和HtmlParser是Java开发中获取和解析网页数据的有力工具。HttpClient处理网络通信,而HtmlParser则负责解析HTML内容。通过两者结合,开发者能够高效地从网页中提取所需的数据,为各种应用场景...
标题中的“jsoup httpclient 爬取网页并下载google图标”揭示了这个项目或教程是关于使用Java的两个著名库——Jsoup和HttpClient,来实现网页抓取并下载特定资源,这里是Google的图标。Jsoup是一个用于处理实际世界...
在本篇文章中,我们将深入探讨如何使用HTTPClient上传文件以及解决可能出现的乱码问题。 首先,让我们关注“httpclient 上传文件”。在HTTP协议中,文件上传通常涉及到POST请求,特别是当Content-Type设置为...
URLConnection是Java标准库中的一个类,可以直接用来打开和读取网络资源。使用URLConnection获取HTML源代码通常涉及以下步骤: - 创建URL对象,指定要请求的网页URL。 - 使用`openConnection()`方法创建...
本篇文章将详细介绍如何使用HttpClient库抓取网页数据,并讨论与之相关的10个关键jar包。 HttpClient库提供了丰富的API,可以方便地执行GET、POST和其他HTTP方法,设置请求头,管理Cookie,处理重定向,以及进行...
测试httpclient,主要测试json参数的接口,包括get请求和post请求。
httpclient-4.5所需jar包,里面包含httpclient-4.5.jar等等10个必须的开发包。 1.commons-codec-1.9.jar 2.commons-logging-1.2.jar 3.fluent-hc-4.5.jar 4.httpclient-4.5.jar 5.httpclient-cache-4.5.jar 6....