利用HttpClient模拟Http请求访问页面,发现乱码(中英文、数字都是),但是从页面上返回的信息是正常的,经过多次尝试,结合网上的信息,发现在设置httpGet参数时,设置了接受压缩类型为Gzip,但却没有对其进行解压缩。解压后在生成字符串,或者这是接受类型为空(即不压缩,效率较低)即可。
httpGet.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); httpGet.setHeader("Accept-Language", "zh-cn,zh;q=0.5"); // httpGet.setHeader("Accept-Encoding", "gzip"); //此行注释掉即可!! httpGet.setHeader("Connection", "keep-alive"); HttpResponse response = null; try { response = httpClient.execute(httpGet); int statusCode = response.getStatusLine().getStatusCode(); if( statusCode!= HttpStatus.SC_OK && statusCode != HttpStatus.SC_MOVED_TEMPORARILY) throw new NullInfoException(); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
参考:http://my.oschina.net/u/590607/blog/163911
如果是编码问题引起的,英文和数字不会乱码,这种情况进行转码即可。参
考http://blog.sina.com.cn/s/blog_59929ec30100a7ty.html
相关推荐
本文将深入探讨如何使用HttpClient来彻底解决乱码问题。 HttpClient是一个功能强大的HTTP客户端,支持多种HTTP协议版本,包括GET、POST等请求方法,以及重试、连接管理等功能。在处理中文字符时,由于编码不一致...
以下是一个简单的使用HttpClient发送GET请求并处理乱码的示例: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(url); httpGet.setHeader("Accept-Charset...
在Java开发中,HttpClient是一个广泛使用的HTTP客户端库...了解并应用以上知识点,可以帮助你有效地解决HttpClient在处理中文内容时的乱码问题。在实际项目中,确保每个环节都正确设置字符编码,是避免此类问题的关键。
在本篇文章中,我们将深入探讨如何使用HTTPClient上传文件以及解决可能出现的乱码问题。 首先,让我们关注“httpclient 上传文件”。在HTTP协议中,文件上传通常涉及到POST请求,特别是当Content-Type设置为...
Apache HttpClient是一个强大的客户端HTTP组件,它不仅支持HTTP协议,还能处理HTTPS请求,并提供了多种功能来简化HTTP客户端开发过程。本文档将详细介绍如何使用HttpClient 4.x版本实现文件上传功能。 #### 二、...
在Android中,如果服务器返回的数据不是UTF-8编码,而使用了GBK,那么在处理文本时需要进行正确的字符编码转换,以防止乱码问题。 5. **源码解析**: - `HttpGet`对象:创建一个HttpGet实例,设置其请求URL,用于...
它使用了 Apache HttpClient 库,这是一个强大的 Java 客户端编程工具包,用于处理 HTTP 协议。以下是对类中关键方法和概念的详细解释: 1. **HttpClientUtil 类结构**: 类中定义了一个静态的日志器 LOGGER,用于...
如果网页编码不是GBK,需要根据实际编码来设定,否则可能会出现乱码问题。 最后,我们通常需要关闭HttpEntity和HttpClient以释放资源: ```java EntityUtils.consume(entity); httpClient.getConnectionManager()....
8. **国际化与编码**:HttpClient支持多种字符集,当处理不同语言的字符串时,需注意正确的字符编码,如UTF-8、GBK等,避免乱码问题。 在文件`my-httpclient-0.0.2.jar`中,可能包含了HttpClient的定制版本或者扩展...
在本示例中,我们将深入探讨如何使用HttpClient的PostMethod来上传文件,以及处理Get和Post请求中的乱码问题。 一、HttpClient基础 HttpClient库提供了一套完整的API,允许我们构建复杂的HTTP请求。它支持GET、POST...
4. 参数编码:在设置请求参数时,确保正确地对字符串进行URL编码,防止乱码问题。 总结,Apache Commons HttpClient 3.1是一个功能强大的HTTP客户端库,虽然在现代开发中可能有更先进的选择,但它仍能满足基本的...
Apache HttpClient是一个开源项目,它提供了一个灵活且功能丰富的API,用于执行HTTP请求和处理响应。HttpClient库不仅支持基本的HTTP方法如GET和POST,还支持更复杂的HTTP特性,如Cookie管理、重定向处理、认证等。...
本案例将详细介绍如何使用HttpClient进行GET和POST类型的请求,以及如何解决在处理过程中可能遇到的文件上传和中文乱码问题。 首先,我们需要导入HttpClient相关的依赖。在Maven项目中,可以在pom.xml文件中添加...
Java的HttpURLConnection或HttpClient类都可以处理POST请求。在使用HttpURLConnection时,需要设置请求头`Content-Type`为`application/x-www-form-urlencoded;charset=UTF-8`,确保服务器知道数据的编码方式。示例...
在这个实例中,可能涵盖了如何设置请求头、发送GET和POST请求、处理响应内容以及解决可能出现的问题,如乱码问题。 描述中的"解上傳亂碼"可能是指在使用HttpClient进行文件上传时遇到的字符编码问题。在HTTP上传...
在实践过程中,可以参考压缩包中的`2014.11.3HttpClient练习(一)`文件,它可能包含了一个简单的HttpClient使用示例,通过运行和调试这个例子,可以帮助你更好地理解和掌握HttpClient的用法。 总之,HttpClient在...
压缩包中含有多个文档,从了解httpclient到应用。 httpClient 1httpClint 1.1简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持...
HttpClient Post提交多文件及多个普通参数,已经封装成工具类。 需传入 要请求的url 普通参数map 例 map.put("param1","张三"); 需要传入的文件流map 其中key为文件名 服务端接收无乱码。
3. **编码解码问题**:处理响应时注意字符编码,防止乱码出现。 总结,HttpClient是Java开发中处理HTTP通信的重要工具,其强大的功能和灵活的配置使其成为开发者的首选。通过深入学习和实践,开发者可以更好地掌握...