如何解决getResponseBodyAsString的字符编码弊端,请给出例子
时间: 2023-06-14 20:07:17 浏览: 285
java实现短信功能简单的例子
`getResponseBodyAsString`方法的字符编码问题可以通过使用`getResponseBody`方法来解决。`getResponseBody`方法返回一个`InputStream`对象,可以使用`BufferedReader`来读取并指定字符编码。
以下是一个示例代码:
```
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://www.example.com");
CloseableHttpResponse response = httpClient.execute(httpGet);
try {
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream inputStream = entity.getContent();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
}
} finally {
response.close();
}
```
在上面的示例中,我们使用`BufferedReader`来读取`InputStream`对象,并将字符编码设置为UTF-8。这样可以确保正确地获取响应的内容。
阅读全文