Nav*_*ake 11 java android httpurlconnection
这是我输入流标题的代码
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();
Run Code Online (Sandbox Code Playgroud)
但字符串返回垃圾值,如" }"
响应头包含Content-Type: application/json; charset=UTF-8所以我尝试添加
inputStreamReader = new InputStreamReader(inputStream, Charset.forName("UTF-8"));
Run Code Online (Sandbox Code Playgroud)
但没有帮助.
它完全适用于邮递员所以我知道这项服务并没有出错.
有人能提供一些帮助吗?
某些服务尝试在标头参数的帮助下压缩它们生成的数据,例如:
要禁用此功能,请尝试设置接受编码:
connection.setRequestProperty("Accept-Encoding", "identity");
Run Code Online (Sandbox Code Playgroud)
如果您想在手机上保存一些传输数据,请使用以下命令:
connection.setRequestProperty("Accept-Encoding", "gzip"); //optional forcing gzip
//...
inputStream = new GZIPInputStream(connection.getInputStream());
//rest of the code
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
556 次 |
| 最近记录: |