请教HttpClient 读取内容乱码的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教HttpClient 读取内容乱码的问题相关的知识,希望对你有一定的参考价值。
参考技术A 1)将接收的内容(参数)进行编码request.setCharacterEncodeing(String charset);
2)将要输出的转发的内容进行编码
response.setContextType("text/html;charset=utf-8");
3)html表单中的数据会按照当前页面来进行编码。
<meta http-equiv="content-type" content="text/html;charset=utf-8;">
模拟消息头content-type,让浏览器以utf-8编码打开页面。
确保页面将表单用指定的字符编码进行编码。
4)cookie
cookie的值只能是ascii字符,如果是中文,需要将中文转换成ascii字符形式。
可以使用URLEncoder.encode()方法和URLDecoder.decode()方法来进行这种转换。
5)在web.xml 中配置一个Spring 的编码转换过滤器就可以了.使用在非struts2框架开发:
org.springframework.web.filter.CharacterEncodingFilter
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>本回答被提问者和网友采纳
请教httpclient访问https,我的步骤错哪里了
很多情况下,需要通过程序抓取网页或者调用接口获取数据。使用apache的httpClient是一个最常用的开源的java第三方工具包。那么如何访问https的地址呢?
工具/原料
jdk
httpclent.jar
IDE(eg.Eclipse)或者文本编辑器 有一个就可以
方法/步骤
下载httpclient
百度一下:apache httpclient,还是看截图吧
HttpClient4.3.x如何请求https的通用方法
HttpClient4.3.x如何请求https的通用方法
HttpClient4.3.x如何请求https的通用方法
2
直接上代码,做一个创建client的工具类
try
SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy()
//信任所有
public boolean isTrusted(X509Certificate[] chain,
String authType) throws CertificateException
return true;
).build();
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext);
return HttpClients.custom().setSSLSocketFactory(sslsf).build();
catch (KeyManagementException e)
e.printStackTrace();
catch (NoSuchAlgorithmException e)
e.printStackTrace(); 参考技术A 步骤呢
以上是关于请教HttpClient 读取内容乱码的问题的主要内容,如果未能解决你的问题,请参考以下文章
HttpClient发送请求后得到的响应内容出现部分乱码的问题