httpclient4.x 编码

一、设置请求的编码

第一种方法:

在Hedaer中设置Content-Type

[java]  view plain copy
  1. HttpGet httpGet = new HttpGet(url);  
  2. httpGet.addHeader("Content-Type""text/html;charset=UTF-8");  

第二种方法:

设置HttpClient的CONTENT_CHARSET

[java]  view plain copy
  1. HttpClient httpClient = new DefaultHttpClient();  
  2. httpClient.getParams().setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET, "UTF-8");  

第三种方法:

设置get/post method的CONTENT_CHARSET

[java]  view plain copy
  1. HttpGet httpGet = new HttpGet(url);  
  2. httpGet.getParams().setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET, "UTF-8");  


这三种设置方法的优先级依次递增,也就是说如果同时设置,则以后面的为准。如果都没有设置,默认charset是ISO-8859-1。


二、获取response的编码:

[java]  view plain copy
  1. HttpResponse response = httpClient.execute(httpGet);  
  2. System.out.println(response.getParams().getParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET));  


三、获取response内容:

[java]  view plain copy
  1. HttpEntity httpEntity =response.getEntity();  
  2. BufferedReader br = new BufferedReader(new InputStreamReader(httpEntity.getContent(), "UTF-8"));  
  3. String line;  
  4. while((line = br.readLine()) != null){  
  5.     System.out.println(line);  
  6. <pre name="code" class="java"><span style="white-space:pre">    </span>System.out.println("\n");</pre>}  
  7. <pre></pre>  
  8. <p></p>  
  9. <pre></pre>  
  10. <p></p>  
  11. <p><span style="font-size:14px">也可在获得response后转码:</span></p>  
  12. <p></p>  
  13. <pre name="code" class="java">HttpEntity httpEntity =response.getEntity();  
  14. <pre name="code" class="java">BufferedReader br = new BufferedReader(new InputStreamReader(httpEntity.getContent()));  
  15. String line;  
  16. while((line = br.readLine()) != null){  
  17.     System.out.println(new String(line.getBytes("ISO-8859-1"),"UTF-8"));  
  18.     System.out.println("\n");  
  19. }   </pre>  
  20. <pre></pre>  
  21. <p></p>  
  22. <pre></pre>  
  23. <br>  
  24. <br>  
  25. <p></p>  
  26. <p><br>  
  27. </p>  
  28. 参考:<a href="http://blog.csdn.net/asdf2hjkl/article/details/8002026" target="_blank">httpclient4 中文版帮助文档,最新官方版翻译版(第一章 下)</a>  
  29. <p><a href="http://blog.csdn.net/xingyue425/article/details/7258934" target="_blank">httpclient编码</a></p>  
  30. <p><a href="http://blog.csdn.net/mgoann/article/details/4056297" target="_blank">HttpClient字符编码</a><br>  
  31. <br>  
  32. </p>  
  33.   
  34. </pre>  

原文链接:http://blog.csdn.net/blue_jjw/article/details/8773960
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值