用于InputStreamReader的HttpsURLConnection和Charset?

时间:2014-07-08 05:48:20

标签: java character-encoding httpurlconnection inputstreamreader

在下面的代码中:

HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setRequestProperty("charset", "utf-8");

InputStream input = connection.getInputStream();
InputStreamReader reader = new InputStreamReader(input, "utf-8");
BufferedReader buffer = new BufferedReader(reader);
...

由于InputStreamReader UTF-8setRequestPropertyHttpsURLConnection构成。但是,我认为代码确实需要从响应中获取CharSet。但这似乎是一个鸡与蛋的问题。

是否可以检索其响应中实际使用的CharSet服务器(而不是将其设置为我希望的那样)?

1 个答案:

答案 0 :(得分:0)

通常,您可以做的最好的事情是设置Accept-Charset请求标头以指示客户端接受的字符编码。例如,

Accept-Charset: UTF-8

如果HTTP服务器配置正确,则响应将为UTF-8。响应Content-Type应包含响应的字符编码。