Java Android HTTPUrlConnection响应返回垃圾

Java Android HTTPUrlConnection响应返回垃圾,java,android,httpurlconnection,Java,Android,Httpurlconnection,下面是我的inputstream头代码 mResponseCode = connection.getResponseCode(); mError = mResponseCode != 200 && mResponseCode != 201 && mResponseCode != 202; if (mError) { inputStream = connection.getErrorStream(); } else { inputStream =

下面是我的inputstream头代码

mResponseCode = connection.getResponseCode();

mError = mResponseCode != 200 && mResponseCode != 201 && mResponseCode != 202;

if (mError) {
    inputStream = connection.getErrorStream();
} else {
    inputStream = connection.getInputStream();
}
inputStreamReader = new InputStreamReader(inputStream);
bufferedReader = new BufferedReader(inputStreamReader);

String inputLine;
final StringBuilder builder = new StringBuilder();

while ((inputLine = bufferedReader.readLine()) != null)
    builder.append(inputLine);

resultStr = builder.toString();
但是字符串返回的垃圾值如下“���������������}"

响应头包括
内容类型:application/json;charset=UTF-8
,因此我尝试添加

inputStreamReader = new InputStreamReader(inputStream, Charset.forName("UTF-8"));
但是没有帮助

它在邮递员身上工作得很好,所以我知道这项服务没有什么问题


有人能提供一些帮助吗?

一些服务试图通过标题参数压缩它们生成的数据,如:

:

要禁用此功能,请尝试设置接受编码:

connection.setRequestProperty("Accept-Encoding", "identity");
如果您想在手机上保存一些传输数据,请使用以下命令:

connection.setRequestProperty("Accept-Encoding", "gzip"); //optional forcing gzip
//...
inputStream = new GZIPInputStream(connection.getInputStream());
//rest of the code    

你是指返回的数据吗?你从响应中得到的内容编码是什么?如果你是指对其分块进行编码的transer,内容类型是application/json;charset=UTF-8是的,返回的数据!但这更像是一个编码问题。@Ali谢谢你。显然它是压缩的。是的,在我看来它像是压缩的。至少OP可以确认m如果有压缩头或者这个答案是否有效