HttpClient4.x编码
一、设置请求的编码
第一种方法:
在Hedaer中设置Content-Type
HttpGet httpGet = new HttpGet(url);
httpGet.addHeader("Content-Type", "text/html;charset=UTF-8");
第二种方法:
设置HttpClient的CONTENT_CHARSET
HttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET, "UTF-8");
第三种方法:
设置get/post method的CONTENT_CHARSET
HttpGet httpGet = new HttpGet(url);
httpGet.getParams().setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET, "UTF-8");
这三种设置方法的优先级依次递增,也就是说如果同时设置,则以后面的为准。如果都没有设置,默认charset是ISO-8859-1。
二、获取response的编码:
HttpResponse response = httpClient.execute(httpGet);
System.out.println(response.getParams().getParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET));
三、获取response内容:
HttpEntity httpEntity =response.getEntity();
BufferedReader br = new BufferedReader(new InputStreamReader(httpEntity.getContent(), "UTF-8"));
String line;
while((line = br.readLine()) != null){System.out.println(line);
System.out.println("\n");
}
也可在获得response后转码:
HttpEntity httpEntity =response.getEntity();
BufferedReader br = new BufferedReader(new InputStreamReader(httpEntity.getContent()));
String line;
while((line = br.readLine()) != null){System.out.println(new String(line.getBytes("ISO-8859-1"),"UTF-8"));System.out.println("\n");
}
参考:httpclient4 中文版帮助文档,最新官方版翻译版(第一章 下) httpclient编码 HttpClient字符编码
HttpClient4.x编码相关推荐
- Java使用HTTPClient4.3开发的公众平台消息模板的推送功能
代码引用,参考文章:http://www.cnblogs.com/feiyun126/p/4778556.html,表示感谢! 1 package com.yuanchuangyun.cyb.mana ...
- HttpClient数据传输的编码方式
约定 1. HttpClient版本:HttpClient4.1 2. 服务端中间件:tomcat7 HttpGet请求的URI编码设置 1. 问题及原因 使用HttpClient的Http ...
- HttpClient4.x中GET方式发送请求参数中文乱码处理
HttpClient4.x GET 方式发送请求参数中文乱码处理 (非返回结果乱码) 之前尝试对HttpGet对象添加头部字符编码设置均无效,后改用参数字符编码处理后实现请求参数乱码正确处理. Htt ...
- 创建数据库,指定数据库的字符集和编码顺序
创建数据库,指定它的字符集和编码顺序 create database {数据库名称} CHARACTER SET {字符集} COLLATE {排序规则} 举例: create database co ...
- Myeclipse中修改项目默认编码还是乱码?一步永久解决!
在myeclipse中修改默认编码后发现项目还是乱码? 点击Windows选择Preferences 如下图
- form表单提交编码的问题
浏览器在form提交后,会生成一个HTTP的头部信息"content-type",标准规定其形式为Content-type: application/x-www-form-urle ...
- vs2012下编码引起的一个神坑
当前有一个项目里面会报解决该文件不能在当前代码页(936)中表示的字符的warning, 根据这个方法 我修改了编码,发现确实不再报warning了 但是尼玛却报出了error 真是太奇怪了!!
- 【JavaScript总结】JavaScript语法基础:JS编码
运算符 数学:+. -. *. / 逻辑:>. < .>= .<=. == . !=.&&.|| . === .!==(完全等于) 对象相关 new delet ...
- shell 批量转换文件编码
相信大家在平时的跨平台编程中碰到过文件编码问题,比如在Windows代码字符编码方式是GB2312,然而转到Linux却只支持utf-8,虽然对代码部分没啥影响,但是很多中文注释部分,却一片乱码,很让 ...
最新文章
- PgSQL · 特性分析 · full page write 机制
- luogu P4085 [USACO17DEC]Haybale Feast(尺取法 + 线段树)
- 【机器视觉】 convert_vector_to_tuple算子
- 苏宁海量服务器自动化配置运维实践
- loading initial ramdisk 卡住_驿站晨读 | 一城市多家快递“卡住了”!有快递网点直接建议:换别家吧......
- Gson读写JSON 数据
- js获取url,截取url参数,截取url后文件名
- android子线程为什么不能更新ui,Android非UI线程无法更新UI?
- cad怎么转换成dwf格式?学会这招,解决98%工作烦恼
- 可靠性计算python库
- negative和passive的反义词_消极的近义词和反义词
- IntelliJ IDEA主题背景设置豆沙绿护眼色
- 图数据库扫盲和图数据选用
- 新手拍短视频技术总结:真实 随性 用心
- python中的数据分析库有哪些_五大常用数据科学Python库
- 计算机图形学:向量运算(OpenGL)
- HihoCoder——Trie树
- 17年电赛综合测评——四分频电路
- Python算法之旅元组的风暴之最长上升子序列
- 为什么VPS会被云服务器取代?