java接口浏览器响应乱码,postman不乱码
时间: 2023-10-28 14:20:41 浏览: 132
当Java接口调用浏览器时出现响应乱码,但在Postman中不乱码的情况下,可能有几个原因。首先,Java中的RestTemplate默认使用的是ISO-8859-1编码格式,而浏览器一般使用UTF-8编码格式,这导致了字符编码不一致,从而出现了响应乱码的问题。解决这个问题的方法是将RestTemplate中的messageConverters列表中的StringHttpMessageConverter的编码格式设置为UTF-8,以确保响应信息能够正确解析成UTF-8格式的字符串。
另外,如果请求头中包含accept-encoding:gzip,返回的结果是经过压缩的,而RestTemplate默认不会自动解压。解决这个问题的方法有两种:一种是在Java发起请求时将请求头中的accept-encoding:gzip去掉,另一种是让RestTemplate能够解压gzip格式的响应数据。
综上所述,要解决Java接口在浏览器中出现响应乱码而Postman中不乱码的问题,可以通过将RestTemplate中的StringHttpMessageConverter的编码格式设置为UTF-8,并确保请求头中不包含accept-encoding:gzip来解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Java发送Http请求响应结果乱码、Postman请求结果正常](https://blog.csdn.net/dreambyday/article/details/130303732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [RestTemplate发请求收到响应乱码,Postman正常](https://blog.csdn.net/qq_34972627/article/details/122685966)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]