[HttpClient]HTTPClient PostMethod 中文乱码问题解决方案(2种)
Apache HttpClient ( http://jakarta.apache.org/commons/httpclient/ ) 是一个纯 Java 的HTTP 协议的客户端编程工具包, 对 HTTP 协议的支持相当全面, 更多细节也可以参考IBM 网站上的这篇文章 HttpClient入门 (http://www.ibm.com/developerworks/cn/opensource/os-httpclient/ ).
不过在实际使用中, 还是发现按照最基本的方式调用 HttpClient 时, 并不支持 UTF-8 编码。
现在给出2个解决方案:
一、在调用PostMethod方法时设置字符编码:
- PostMethod postMethod = new PostMethod(
- "http://127.0.0.1:8080/HttpClientServer/login.do");
- postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8");
二、重载PostMethod的getRequestCharSet()方法, 返回我们需要的编码(字符集)名称, 就可以解决 UTF-8 或者其它非默认编码提交 POST 请求时的乱码问题了.
- //Inner class for UTF-8 support
- public static class UTF8PostMethod extends PostMethod{
- public UTF8PostMethod(String url){
- super(url);
- }
- @Override
- public String getRequestCharSet() {
- //return super.getRequestCharSet();
- return "utf-8";
- }
- }
- PostMethod postMethod = new UTF8PostMethod(
- "http://127.0.0.1:8080/HttpClientServer/login.do");
三、最后服务器端要配合客户端,设置下编码字符集:
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- //解决中文乱码问题,此步不可少
- request.setCharacterEncoding("UTF-8");
- response.setContentType("text/html");
- response.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- String username = (String) request.getParameter("username");
- String password = (String) request.getParameter("password");
- System.out.println("******************** doPost被执行了 ********************");
- System.out.println("您的请求参数为:/tusername:" + username + "/tpassword:"
- + password);
- out.print("您的请求参数为:/tusername:" + username + "/tpassword:" + password);
- out.flush();
- out.close();
- }
[HttpClient]HTTPClient PostMethod 中文乱码问题解决方案(2种)相关推荐
- 使用Kettle抽取数据时,出现中文乱码问题解决方案
使用Kettle抽取数据时,出现中文乱码问题解决方案 参考文章: (1)使用Kettle抽取数据时,出现中文乱码问题解决方案 (2)https://www.cnblogs.com/yiyezhiqiu ...
- python3.x+requests 爬取网站遇到中文乱码的解决方案
正常情况下,遇见问题上google找答案能甩百度100条街,但是这个问题是个例外······人家老外就没有乱码的问题.言归正传,首先建议大家看一下python3.x+requests 爬取网站遇到中文 ...
- sublime java文件乱码问题_Sublime Text 打开Java文档中文乱码的解决方案
问题: 打开文档后出现中文乱码如图 1.在安装插件之前,首先要安装package control这个组件,才能够给sublime text安装各种插件 打开sublime text,按 ctrl+` ...
- 安装mysql中文步骤_MySql安装步骤图文教程及中文乱码的解决方案
mysql server安装步骤如下所示: 1安装mysql server 2 安装mysqlserver管理工具 解压中文语言包,将文件复制到安装目录下覆盖 文件覆盖后,打开软件设置语言为中文(cn ...
- eclipse 编辑 python 中文乱码的解决方案
eclipse 编辑 python 中文乱码的解决方案 参考文章: (1)eclipse 编辑 python 中文乱码的解决方案 (2)https://www.cnblogs.com/mouseIT/ ...
- dev代码拷贝中文乱码的解决方案
dev代码拷贝中文乱码的解决方案 参考文章: (1)dev代码拷贝中文乱码的解决方案 (2)https://www.cnblogs.com/cmyg/p/8766732.html (3)https:/ ...
- ubuntu命令行下中文乱码的解决方案
ubuntu命令行下中文乱码的解决方案 参考文章: (1)ubuntu命令行下中文乱码的解决方案 (2)https://www.cnblogs.com/york-hust/archive/2012/0 ...
- 【QT5.3】VS2013+QT5.3 中文乱码问题 解决方案
VS2013+QT5.3 中文乱码问题 解决方案 网上很多关于QT中文乱码的问题及答案,但情况不同解决方法也不一样. 本方案适用于VS2013+QT5.3环境(编译器是VC) using namesp ...
- Java中文乱码特殊字符解决方案
Java中文乱码&特殊字符解决方案 相信很多朋友遇到过Java的乱码问题,最近我也在解决一个"使用文本生成图片过程中中文以及特殊字符乱码"的问题:花了我大量时间,Debug ...
最新文章
- 机器学习及其在信息检索中的应用
- 清华姚校友陈丹琦斩获2022斯隆奖!博士论文是近十年最热之一!共计27位华人入选...
- 深入浅析zookeeper的一致性模型及其实现
- ActiveX控件打包成Cab置于网页中自动下载安装
- python文件及异常处理
- 开源公司抱团取暖,讨论如何在云厂商“寄生”下生存
- 数据结构上机实践第14周项目1(4) - 验证算法(平衡二叉树)
- 推荐系统-Task03离线物料系统的构建
- java各层_java后台各个层理解
- 汇编语言程序设计技巧详解(附例题)
- secKill项目 --- Redis预减库存的存在的问题 及 库存补偿
- IE当前安全设置不允许下载该文件的解决办法
- 【快乐离散数学】谓词与量词 | 嵌套量词 | 狄摩根定律 | Predicates and Quantifiers | Nested Quantifiers
- C++---暂时的休憩
- QGraphicsItem绘制重叠区域
- PIC18f46j50单片机里SPI部分的一点程序
- movidius 神经计算棒 ncsdk windows 平台 支持 配置 教程
- 原局凶存,大运流年体现,早亡命例。
- 框架条理在学习生活中的重要性
- 2021-7 论文阅读 [PatchScope: Memory Object Centric Patch Diffing]