`
a137268431
  • 浏览: 156801 次
文章分类
社区版块
存档分类
最新评论

httpClient的get请求 请求头gzip和deflate的乱码解决方案

 
阅读更多

利用httpClient下载页面,先利用浏览器查询页面源代码得知页面编码为utf-8,但生成字符串后总是为乱码,经过查询得知,在设置httpGet参数时,设置了接受压缩类型为Gzip,但却没有对其进行解压缩。解压后在生成字符串,或者这是接受类型为空(即不压缩,效率较低)即可。

第一种:

httpGet.setHeader("Accept-Encoding", "gzip"); //此行注释掉即可!!

或者采用 第二种:

	/**
	 * 处理gzip,deflate返回流
	 * 
	 * @param is
	 * @return
	 * @throws IOException
	 */
	private String zipInputStream(InputStream is) throws IOException {
		GZIPInputStream gzip = new GZIPInputStream(is);
		BufferedReader in = new BufferedReader(new InputStreamReader(gzip, "UTF-8"));
		StringBuffer buffer = new StringBuffer();
		String line;
		while ((line = in.readLine()) != null)
			buffer.append(line + "\n");
		is.close();
		return buffer.toString();
	}
这种方法对 gzip或deflate流的解析。

分享到:
评论

相关推荐

    java HttpClient 发送GET请求和带有表单参数的POST请求教程例子

    ### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...

    HttpClient模拟get,post请求并发送请求参数(json等)

    HttpClient提供了丰富的API来定制请求头、超时设置等。例如,你可以设置连接超时和读取超时: ```java RequestConfig config = RequestConfig.custom() .setConnectTimeout(5000) .setSocketTimeout(5000) ....

    彻底解决httpClient乱码问题

    综上所述,解决HttpClient乱码问题涉及多个环节,包括正确设置字符编码、理解HTTP头信息、自定义HttpClient配置以及编写健壮的工具类。只有对HTTP通信的各个环节有深入理解,才能有效地处理这类问题,确保数据传输的...

    解决了中文乱码的http的get和post请求demo

    本篇将详细讲解如何处理中文乱码问题,特别是在HTTP的GET和POST请求中。参考文档来源于CSDN博主的文章,我们将围绕这个主题进行深入探讨。 首先,我们需要理解中文乱码问题产生的原因。当HTTP请求发送含有中文字符...

    HttpClient发送http请求(post和get)需要的jar包+内符java代码案例+注解详解

    这个压缩包可能包含了实现HTTP GET和POST请求所需的jar包以及示例代码,帮助开发者理解如何使用HttpClient进行网络通信。下面将详细介绍HttpClient库,HTTP请求的基本概念,以及GET和POST方法的差异。 HttpClient是...

    HttpClient、乱码解决:实例

    通过上述步骤,你应该能有效地解决HttpClient在发送和接收数据时可能出现的乱码问题。在实际项目中,要结合服务器的响应情况灵活调整编码策略,确保数据传输的准确性。同时,了解并熟练掌握HttpClient的使用,对于...

    对于C#(HttpClient)方式网络请求的封装

    1. **HttpClient的基本使用**:介绍HttpClient类的基本概念,包括如何创建实例,设置请求头,以及发送GET和POST请求。 2. **封装的设计**:讨论如何设计一个网络请求的通用接口或类,比如定义方法如`SendGetAsync`...

    HttpClient GET请求

    HttpClient GET请求

    HttpClientUtil工具类发送get和post请求,支持http和https,支持发送文件

    HttpClient是Java中用于执行HTTP请求的一个强大库,它提供了丰富的功能,可以方便地进行GET、POST请求,并且能够处理复杂的网络交互,包括发送文件等操作。下面我们将详细讨论HttpClientUtil工具类如何实现这些功能...

    http请求工具类HttpClientUtil,get,post请求(csdn)————程序.pdf

    HttpClientUtil 是一个用于发送 HTTP 请求的工具类,主要支持 GET 和 POST 方法。它使用了 Apache HttpClient 库,这是一个强大的 Java 客户端编程工具包,用于处理 HTTP 协议。以下是对类中关键方法和概念的详细...

    HttpClient异步请求

    HttpClient是Java中一个强大的HTTP客户端库,用于执行HTTP请求,包括GET和POST等操作。它提供了丰富的功能,如异步请求处理、连接管理、重试策略等,使得开发者能够高效地与Web服务进行通信。本篇文章将深入探讨...

    httpclient发送get请求和post请求demo

    在Java编程中,Apache HttpClient库是一个非常常用的工具,它提供了对HTTP协议的强大支持,包括GET和POST请求。本文将深入探讨如何使用HttpClient进行GET和POST请求,并提供相关的代码示例。 首先,GET请求是最常见...

    HttpClient发送http请求需要的jar包

    3. **HttpGet** 和 **HttpPost**:这两个类分别代表了HTTP的GET和POST请求,是最常见的HTTP操作。它们继承自HttpRequestBase,并提供了设置URL、添加请求头和请求体的方法。 4. **HttpResponse**:表示HTTP响应,...

    HttpClient实现POST GET和文件下载

    它提供了丰富的API,使得开发者可以方便地发送HTTP请求(包括POST和GET)并处理响应,同时还支持文件的上传和下载功能。本文将深入探讨HttpClient如何实现这些功能。 ### POST请求 POST请求通常用于向服务器提交...

    利用HttpClient发送HTTP请求

    利用HttpClient发送HTTP请求 利用HttpClient发送HTTP请求

    httpclient用法,发送get和post请求,设置header

    httpclient的用法,发送get请求和post请求,设置header

    httpclient get/post请求工具类(map参数封装)

    httpclient get/post请求工具类(map参数封装),方便调用

    (完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc

    在示例代码中,我们使用HttpGet对象来发送POST请求,并指定请求的URL、请求头和请求体。 使用HttpClient发送POST请求可以帮助我们与HTTPS服务器进行交互,但需要注意证书验证过程。使用X509TrustManager可以忽略...

    java使用HttpClient发送http请求

    在Java编程中,HttpClient是一个非常重要的工具库,用于发送HTTP请求和处理响应。这个工具广泛应用于各种场景,如数据抓取、API交互等。本文将深入讲解如何使用HttpClient来发送HTTP请求,以及相关的源码分析。 ...

Global site tag (gtag.js) - Google Analytics